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 URL编码解码函数代码
Mar 10 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
php SQL Injection with MySQL
Feb 27 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php实现微信公众号无限群发
Oct 11 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
处理php自动反斜杠的函数代码
2010/01/05 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
document.all与WEB标准
2020/05/13 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python 探针的实现原理
2016/04/23 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
python 追踪except信息方式
2020/04/25 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
python SOCKET编程基础入门
2021/02/27 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
学生感冒英文请假条
2014/02/04 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
保研推荐信范文
2015/03/25 职场文书
工作简报范文
2015/07/21 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers