4核8G服务器压测问题咨询
大家好,关于压测问题:
基本信息
- php:7.3(lumen 7.0+)
- 系统:centos 8.2
- nginx version: nginx/1.14.1
- 配置:4核8G的服务器
- 工具:Wetest
- 人数:500人
php-fpm
- pm:dynamic
- pm.max_children = 500
- pm.start_servers = 500
- pm.min_spare_servers = 100
- pm.max_spare_servers = 500
问题
场景测试:多接口配置,实际执行80人左右就不增加了;cpu 100%;内存 2.5G;压测结果如下。
单接口访问:
- 平均 TPS 447/s;90% 响应时间:1316ms
- 服务器php-fpm:每个php-fpm占用0.7%cpu; 0.5%MEM
- 依据一个php-fpm占用0.7%cpu,最大同时响应请求应该是:400 / 0.7 = 571 ;也就是最多能同时处理571个请求吧;加上部分请求消耗cpu可能达到1.0%;平均算下来,这台服务器处理并发请求的极限在500次/秒;单个接口请求也验证了这个想法。
感觉目前的内存使用率非常低呢。
- 请问怎样进行优化呢?
- 如何能达到降低cpu使用率,同时提高内存利用率呢?
本作品采用《CC 协议》,转载必须注明作者和本文链接
平台是什么? linux ? windows? 硬件,必要的软件写出来
开启 opcache 试试
你可以试一下php-fpm 的数量降低试一下。 composer --no-dev 。 内存利用率低可以适当降低内存。倒也没必要非得把内存全用上。(如果非要用,开启 apcu / yac 拿内存缓存一些热数据也行)。 php .env 文件可以生成 .env.php 这样就可以把这个文件也进行 opcache 缓存。 cpu 使用高的话,需要检查一下是不是运算密集。运算密集的话 php-fpm 数量过多可能就变成负优化了,如果都是一些io操作的话,php-fpm 数量多一点问题不大。
同意楼上的,建议楼主调一下 php-fpm 的数量 另外可以尝试把 pm 改成静态的,结果应该会有提升
压测的内容是啥呢,复杂的业务?瓶颈会不会是数据库
preload
文件PHP8 + OPCACHE + JIT
试下,你那个配置服务器炸了就真的炸了
差不多到极限了,算可以了
怎么还在用 CentOS 8
这是用的什么压测工具啊
大哥这是什么压测工具呀