宝塔的负载状态图表中百分比的含意:
50% 以下 - 此时服务器正以低负载状态运行
50 ~ 90% - 服务器负载正常,用户的请求可以及时得到服务器响应
90% ~ 100% - 表示服务器资源已耗尽,无法及时响应用户请求,需尽快排查项目是否运行异常,或增加服务器配置
影响服务器负载的因素:
1、CPU使用率
2、线程数量
3、IO使用率
4、swap使用率
5、因宿主机负载过高导致资源分配不足
***如阿里云的突发性能机器,即使你看你上面4个数据正常都,但你的负载有时就是很高,就有可能是宿主机限制导致的
下面我们以机动车道路来例举服务器在不同负载状态时的表现
假设:
CPU核心数 = 车道数量
内存 = 车道宽度
磁盘IO = 车道限速
解决方法:
1.php-fpm: 适当限制php并发。
(说明:服务器中搜到php-fpm.conf这个文件打开进行配置,其中 pm = dynamic 改为 pm= static 另外 pm.max_children = XXX的数值建议是: xxx=机器内存(M) 除以40 。这个得出的数值自己适当调整)
2.使用 OPcache 加速 PHP 代码执行效率
3.使用 Memcached 把数据缓存到内存
目前用了2天效果不错,新网站负载率目前一直在20%以下
另外我这是美国的主机用了cloudfare家的免费cdn,网站打开速度还可以