apache php 调优_thinkphp & apache高并发测试优化

在做高并发测试的时候,发现了几个小问题,记录一下解决过程

1.并发数量超过一定数量,由于部分并发可能出现死锁或其他问题,需要加入事务。注意:先插入数据库,再清除缓存,可避免某些不明原因导致的缓存和实际数据不一致的情况。

Db::transaction(function () {

// 先操作数据库, 后设置redis 缓存

});

2.并发数量不算大,但是请求成功数量却寥寥无几?试着优化 MPM 模块配置。

①在 apache/conf/httpd.conf 找到

# Server-pool management (MPM specific)

Include conf/extra/httpd-mpm.conf

去掉 “Include conf/extra/httpd-mpm.conf”前面的 #

②修改Apache 服务器的MPM 模块对应的节点参数设置。

输出 phpinfo(); 查找"mpm" 即可看到节点名称。我的是“mpm_winnt”。

在httpd_mpm.conf 中找到对应的“mpm_winnt_module”,修改

ThreadsPerChild 1000 #推荐设置:小型网站=1000 中型网站=1000~2000 大型网站=2000~3500

MaxConnectionsPerChild 10000 #推荐设置:小=10000 中或大=20000~100000

ThreadsPerChild 控制每个子进程使用的线程数量

MaxConnectionsPerChild 每个服务器子进程被终止前可处理的最大连接数

3.设置my.ini 。(windows 下是mysql/bin/my.ini ,Linux 下是my.cnf)

[mysqld]

thread_cache_size = 256

max_connections = 1000

重启Apache、Mysql ,再次并发测试。请求成功次数多了很多,数据库记录准确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值