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 相关文章推荐
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
php自动提交表单的方法(基于fsockopen与curl)
May 09 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
在windows系统中实现python3安装lxml
2016/03/23 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python调用自定义函数的实例操作
2019/06/26 Python
python批量修改ssh密码的实现
2019/08/08 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
WxPython实现无边框界面
2019/11/18 Python
Python 没有main函数的原因
2020/07/10 Python
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
银行职员思想汇报
2013/12/31 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
质量承诺书格式
2014/05/20 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
运动会开幕式主持词
2015/07/01 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL