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 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
PHP PDO函数库详解
Apr 27 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
Yii框架安装简明教程
May 15 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
967 个函式
2006/10/09 PHP
一个MYSQL操作类
2006/11/16 PHP
php组合排序简单实现方法
2016/10/15 PHP
js右键菜单效果代码
2007/07/21 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
node后端服务保活的实现
2019/11/10 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
python局部赋值的规则
2013/03/07 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
Python 支付整合开发包的实现
2019/01/23 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
函数指针的定义是什么
2016/08/14 面试题
Go并发4种方法简明讲解
2022/04/06 Golang
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS