我正在尝试编写一个我试图衡量其效率的脚本。我有一些问题:-
- 对于小型应用程序,是否需要这种分析?还是我变得偏执?(假设大多数代码都相当高效/没有无限循环)
- 我应该以什么为基准?我应该与什么比较?
- 下面是我从 ab 得到的效率输出。这种方式是不是太离谱了?我设计这个应用程序的方向是错误的吗?有什么我应该注意的警告信号吗?
abs -n10000 -c100 http://localhost/testapp
这是 ApacheBench,版本 2.3
版权所有 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
授权给 Apache 软件基金会,http://www.apache.org/
对本地主机进行基准测试(请耐心等待)
已完成 1000 个请求
已完成 2000 个请求
已完成 3000 个请求
完成 4000 个请求
已完成 5000 个请求
已完成 6000 个请求
已完成 7000 个请求
已完成 8000 个请求
已完成 9000 个请求
已完成 10000 个请求
完成10000个请求
服务器软件:Apache/2.2.10
服务器主机名:本地主机
服务器端口:80
文档路径:/testapp
文档长度:525 字节
并发级别:100
测试时间:33.608 秒
完成请求:10000
失败的请求:5179
(连接:0,接收:0,长度:5179,例外:0)
写入错误:0
总传输量:6973890 字节
传输的 HTML:5253890 字节
每秒请求数:297.55 [#/sec](平均)
每个请求的时间:336.080 [ms](平均值)
每个请求的时间:3.361 [ms](平均,所有并发请求)
传输速率:收到 202.64 [Kbytes/sec]
连接时间(毫秒)
最小值平均值[+/-sd] 中值最大值
连接:0 1 1.5 0 109
处理:8 334 403.9 176 3556
等待:7 334 403.9 176 3556
总计:9 335 403.8 177 3556
特定时间内服务的请求百分比(毫秒)
50% 177
66% 296
75% 415
80% 519
90% 842
95% 1141
98% 1615
99% 1966
100% 3556(最长请求)
我正在使用 PHP 编写脚本。在进一步测试中,我还发现如果我从我的 PHP 脚本中注释 MySQL 连接部分,“失败的请求”会变为 0。怎么了?如何降低这种失败率?
谢谢你,亚历克