PHP+swoole+linux实现系统监控和性能优化操作示例


Posted in PHP onApril 15, 2019

本文实例讲述了PHP+swoole+linux实现系统监控和性能优化操作。分享给大家供大家参考,具体如下:

服务器监控

端口监控php运行shell脚本

class Server {
  const PORT = 8811;
  /**
   * 获取端口指定端口信息;如果在运行返回1;否则返回0;
   */
  public function port() {
    $shell = "netstat -anp 2>/dev/null | grep ". self::PORT . " | grep LISTEN | wc -l";
    $result = shell_exec($shell);
    if($result != 1) {
      // 发送报警服务 邮件 短信
      /// todo
      echo date("Ymd H:i:s")."error".PHP_EOL;
    } else {
      echo date("Ymd H:i:s")."succss".PHP_EOL;
    }
  }
}
/**
 * swoole毫秒定时器;每隔2秒运行一下脚本
 */
swoole_timer_tick(2000, function($timer_id) {
  (new Server())->port();
  echo "time-start".PHP_EOL;
});

linux在终端执行命令并且写入到文件里面

nohup /usr/local/php/bin/php/www/swoole/thinkphp_swoole/script/monitor/server.php>/www/swoole/thinkphp_swoole/script/monitor/a.txt-**

根据端口别名使用.sh(shell脚本)平滑重启服务

echo "loading..."
pid=`pidof live_master`
echo $pid
kill -USR1 $pid
echo "loading success"

后台启动swoole

nohup /usr/local/php/bin/php /www/swoole/thinkphp_swoole/server/ws.php>/www/swoole/server/thinkphp_swoole/swoole.log &

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
php 一元分词算法
Nov 30 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
零基础php编程好学吗
Oct 11 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 PHP
vmware linux系统安装最新的php7图解
Apr 14 #PHP
php7新特性的理解和比较总结
Apr 14 #PHP
PHP7新功能总结
Apr 14 #PHP
PHP7内核CGI与FastCGI详解
Apr 14 #PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 #PHP
PHP7中I/O模型内核剖析详解
Apr 14 #PHP
浅析PHP7的多进程及实例源码
Apr 14 #PHP
You might like
一些常用的php函数
2006/12/06 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python中DJANGO简单测试实例
2015/05/11 Python
浅谈对yield的初步理解
2017/05/29 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
文明餐桌行动实施方案
2014/02/19 职场文书
树转促学习心得体会
2014/09/10 职场文书
入党现实表现材料
2014/12/23 职场文书
英文感谢信格式
2015/01/21 职场文书
一个都不能少观后感
2015/06/04 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers