问题描述: 服务器为ucloud香港4核8G服务器,安装了宝塔7.5.2版本 服务器启动后各项服务启动,平稳运行一段时间后CPU和负载一直居高不下; SSH命令top查看后cpu状态中us占用50%左右,sy占用40%左右; 解决方案 项目中用到workerman,在start.php中有调用配置文件config.php,但是找不到这个文件;需要添加config.php即可解决问题 解决思路 SSH命令top查看后cpu状态中us占用50%左右,sy占用40%左右;感觉很奇怪sy的cpu使用率(sy:内核空间占用CPU百分比) 经过查询得志内核空间占用CPU百分比高一般是因为IO或者多线程切换导致,查看线程发现workerman启动了很多线程
简介 由于公司项目的发展,现在有SaaS架构的B2B、B2C项目,且项目提供的功能多而杂;并且有大部分功能是重复的。虽然,并发不大,但是从维护和开发的角度讲,开发和维护一套的成本要小很多;所以自己再业余时间探索PHP的微服务架构。 基础知识普及: 1、hyerf:https://hyperf.wiki/2.0/#/ 2、consul:https://www.consul.io/ 3、swoole:https://wiki.swoole.com/#/ 4、docker:https://www.runoob.com/docker/docker-tutorial.html 5、docker-compose:https://www.runoob.com/docker/docker-compose.html 本文基于文章 《如何搭建PHP 微服务集群》 部署 部署环境: "centos": ">=7.2" "php": ">=7.2" "hyperf": "=2.0" "docker": "=19.03.13" "docker-compose": "=1.27.4" "swoole": "=4.2" "Consul": "=1.8.6" 安装所需环境: 注意安装顺序 1.安装PHP7.2w yum -y remove php* rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml 2.pear安装swoole yum install php72w-pear yum install php72w-devel pecl install swoole 修改 php.ini 配置文件 extension=swoole.so 3.安装composer # 下载composer.phar curl -sS https://getcomposer.org/installer | php # 把composer.phar移动到环境下让其变成可执行 mv composer.phar /usr/local/bin/composer # 测试 composer -V # 输出:Composer version 2.0.7 2020-11-13 17:31:06 4.安装php-microservice-demo git clone https://github.com/xugj-gits/php-microservice-demo.git 分别进入microservice-1、microservice-2、app目录执行: composer install 5.安装Docker、Docker …