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 PDO函数库详解
Apr 27 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
PHP number_format函数原理及实例解析
Jul 14 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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
yii实现级联下拉菜单的方法
2014/07/31 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
js left,right,mid函数
2008/06/10 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Python字典简介以及用法详解
2016/11/15 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
加热夹克:RAVEAN
2018/10/19 全球购物
求职信的最佳写作思路
2014/02/01 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
pytorch 使用半精度模型部署的操作
2021/05/24 Python