我正在尝试编写一个我试图衡量其效率的脚本。我有一些问题:-
- 对于小型应用程序,是否需要这种分析?还是我变得偏执?(假设大多数代码都相当高效/没有无限循环)
- 我应该以什么为基准?我应该与什么比较?
- 下面是我从 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。怎么了?如何降低这种失败率?
谢谢你,亚历克