我正在运行 varnish->nginx(php-fpm) 并且我正在使用 ab 但它总是搞乱。
[root@localhost src]# ab -k -n 100000 -c 750 http://192.168.135.12/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.135.12 (be patient)
apr_socket_recv: Connection reset by peer (104)
还有什么我可以用的吗?或者我做错了吗?
答案1
尝试增加 nginx.conf 中的“worker_processes”和“worker_connections”的数量。
默认值
worker_processes 1;
worker_connections 1024;
还不够。当使用上述 ab 命令运行时,我的 nginx 给出了同样的错误。
使用这些(随机升高且可能太高 - 尝试小步调整)值
worker_processes 15;
worker_connections 4096;
它可以管理简单 HTML 文件上生成的负载。
答案2
我遇到了这个问题,发现关闭 tcp_syncookies 可以阻止它。要关闭它,请执行以下操作
cd /proc/sys/net/ipv4
echo "0" > tcp_syncookies
现在我不知道这会引起什么其他问题,但这是一个开始。
答案3
运行 ab 时是否因为 Linux 限制?首先将 ab 更新到最新版本 (2.2.*)。然后查看“/var/log/kernel.log”。运行 ab 时检查可用内存。还要检查 Varnish 日志。