我编写了这个简单的Bash脚本来检测错误页面的发生率:
date;
iterations=10000;
count_error=0;
count_expected=0;
for ((counter = 0; counter < iterations; ++counter)); do
if curl -s http://www.example.com/example/path | grep -iq error;
then
((count_error++));
else
((count_expected++));
fi;
sleep 0.1;
done;
date;
echo count_error=$count_error count_expected=$count_expected
我发现总执行时间不随迭代计数线性扩展。 10次迭代00:00:12,100:00:01:46,1000在00:17:24,10000在~50分钟,100000在~10小时
任何人都可以提供有关脚本的非线性和/或改进的见解吗?卷曲无法以10 /秒的速度发出请求吗? GC是否必须定期清除填充响应文本的内部缓冲区?
答案 0 :(得分:1)
以下是一些想法:
;
。htop
或top
来识别客户端或服务器上的性能瓶颈。ab
是用于对Web服务器进行基准测试的标准工具,可用于大多数发行版。有关详细信息,请参阅管理页面ab(1)
。