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

yipeiwu_com6年前PHP代码库

本文实例讲述了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网络编程技巧总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php字符串(string)用法总结

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

相关文章

phpstudy默认不支持64位php的解决方法

备忘一下: windows上用phpstudy比较简便,但是其默认的php所有版本都是32位的,有坑,比如int最大值。 所以从php官网 点击打开链接http://windows.ph...

php中error与exception的区别及应用

error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object---->Th...

如何解决PHP无法实现多线程的问题

有没有办法在PHP中实现多线程呢?假设你正在写一个基于多台服务器的PHP应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。可以实现吗?当有人想要实现并发功能时,他们通常会想到...

fgetcvs在linux的问题

看到有人在有汉字的字符串 前加一个 ‘ 或是任意半角符号,让bug将其除掉,不过这样做太麻烦了。最后呢,找来一个模拟fgetcsv功能的函数。 复制代码 代码如下: function _...

PHP中使用php5-ffmpeg撷取视频图片实例

前几天在玩 FFmpeg 的时后,突然发现 Ubuntu 上多了 php5-ffmpeg 这个扩充套件,就想来玩玩看,看好不好用,有两个结论: 读取影片取决于 FFmpeg 的支援性,如...