php - php并发连接到redis超时
问题描述
大家我有三台php服务器(8C,16G),每台php服务器设置如下:
pm.max_requests = 1024
pm.max_children = 370
pm.start_servers = 100
pm.min_spare_servers = 10
pm.max_spare_servers = 20
request_terminate_timeout = 120
request_slowlog_timeout = 1s
当我并发发送1000时,我发现每个php服务器上的负载都很高。发现php连接redis有超时:
poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
我用的是lsof命令:</p>
[root@10-13-82-25 ~]# lsof -d 5 |grep 19822
php-fpm 19822 www 5u IPv4 6625694 0t0 TCP 10-13-82-25:mcagent->10.13.151.44:6379 (ESTABLISHED)
redis(2G, 8G) 参数配置:</p>
tcp-backlog 262144
phpredis 版本:5.3.2 php 版本:7.0.26 redis 版本:4.0.2 真不知道为什么会超时。请帮我。认为!
解决方案
推荐阅读
- hadoop - 将可选属性从主 oozie 工作流传递到子工作流
- reactjs - Jest 用箭头函数测试 JSX 元素
- json - CSV 转 JSON 并添加标题
- linux - 在 Linux 上以编程方式检测触摸板移动与常规鼠标
- firebase - firbease 功能冷启动的加载视图
- javascript - Primefaces PickList 限制传输元素的数量
- javascript - 如何使用 CdkScrollable 检测角度材料 2 自动完成列表上的滚动事件
- javascript - 如何添加缩略图供用户选择卫星视图?
- sql - 从 Access 2016 中的日期时间字段中解析时间
- android - MediaRecorder 和 VideoSource.SURFACE,停止失败:-1007(一个严重的 Android 错误)