其实很多人做性能测试的时候,使用的方法都很粗糙,很多因素都没有考虑,只是单纯的使用ab,就得出nginx比apache多多少多少倍等类似的结论,好笑。
就拿nginx和apache比较而言吧,首先说一下nginx在linux工作于epoll模式,而apache默认是prefork工作模式,这个本来就没法比。但apache (MPM=event)工作模式就是采用epoll的机制,相同工作模式下比较才有意义啊。另一个一般web服务都支持pipeline(keep alive on/off)c传输模式,默认值各不相同,测试首先保证相同的传输模式(keep alive on 或 keep alive off)下进行啊,一股脑的测试,得出所谓的结论,能准确么?只能说经验过浅阿,另外,性能测试还受制于硬件环境/网络带宽/是否本机测试还是远程测试/测试内容/测试数据大小等等。
硬件环境不同,测试结论肯定不同,这个很简单。
网络带宽不同带来的影响,有些情况在100Mb/s下,1000Mb/s,TPS还是有很大差异的。
是否本机测试,直接对本机所谓的测试是不经过network,往往TPS会很高。
测试内容,动态/静态之间的差异我就不提了,静态内容一般是会被cache掉的,动态内容某个情况也会cache,TPS还是不算准确。
测试数据大小,这个一两句话说不清楚,如下图:(带宽/TPS/Object Size)关系,很有用的。
关于传输模式keep alive on/off的说明,我找到一片老外的测试结果。
引用
Tests were made on my desktop PC (Intel Core2 CPU 6700 @ 2.66GHz) inside VMWare environment (memory: 256 MB, Debian Etch) with apache-benchmark tool, fetching 32 B long static text file.
Compared versions (configuration files will follow soon):
Apache 1.3.34
Apache 2 (worker) 2.2.3
Litespeed 3.3.4
thttpd 2.23beta1-5
Nginx 0.5.35
Lighttpd 1.4.13
Cherokee 0.5.5
Boa 0.94.14rc21-0.2
Keep Alive On
Keep Alive Off
单说他的测试结果无论如何,至少,人家还知道Keep Alive On/Off的差异,分开比较。
分享到:
相关推荐
话说压力测试和性能测试软件测试性能测试经常和压力测试一起进行,而且常常需要硬件和软件测试设备,这就是说,常常有必要的在一种苛刻的环境中衡量资源的使用(比如,处理器周期)。外部的测试设备可以监测测试执行,...
根据提供的文件信息:“[话说程序调试].葛芝宾.扫描版.pdf”,我们可以推断这份文档主要涉及程序调试的相关知识和技术。接下来,我们将基于这个标题、描述以及简略提及的“c c”(推测可能是指C语言和C++)来生成一...
【标题】:“牛的没话说windos程序”可能是指一个在Windows操作系统上运行的非常出色的程序,具有极高的性能或用户评价。这个标题暗示了该程序在功能、稳定性或者用户体验方面有着显著的优势,以至于用户对其...
9. **测试**:EJB 3.0支持单元测试和集成测试,允许开发者使用JUnit或其他测试框架直接测试Bean,无需特殊的测试环境。 本教程中的实例将帮助你掌握EJB 3.0的这些概念,并通过实际操作加深理解。你将学习如何创建、...
1. **性能分析与调试**:书中详细讲解了如何使用Unity内置的Profiler工具来检测和定位性能瓶颈,包括CPU、GPU、内存和渲染等方面的监控。通过学习这些技巧,开发者可以及时发现并解决导致游戏卡顿或延迟的问题。 2....
该仿真器常用于工业自动化、汽车电子、通信、医疗设备、消费电子等领域,帮助工程师在开发嵌入式系统时进行高效调试和测试。 综上所述,SEED-XDS560Plus Emulator结合CCS 3.x及其驱动程序,为TI微控制器和DSP的...
2. **平台即服务(PaaS)**:除了基础资源外,还提供了开发和部署应用程序所需的支持环境,例如数据库管理、测试工具等。 3. **软件即服务(SaaS)**:直接向用户提供完整的应用程序,如办公软件、邮件服务等,用户无需...
对于大家最关心的泛化性能,即算法在处理新的、没见过的数据时的性能,他们的结论是 :AdaBoost 的泛化误差 ≤ 训练误差 +√ln|ℋ|T)m(其中 m 是训练样本数,T 是训练的轮数,ln|| 可以大致理解为基学习器的复杂度...
华硕作为知名的计算机硬件制造商,其出厂系统通常会经过严格的测试和优化,以确保与硬件组件的无缝配合。 系统内预装了一系列华硕特有的软件和服务,例如"华硕奥创中心"(Asus Aura Creator),这是一个专为华硕...
它详细描述了产品的功能需求、性能要求、界面设计等信息,为开发和测试工作提供了明确的指导。在MVP阶段,这些指导尤为重要,因为它们确保了MVP能够在有限的时间和资源内完成开发并达到预期的质量标准。 促进团队...
在 struts 中,实际是一个表单 Form 对应一个 Action 类(或 DispatchAction),换一句话说:在 Struts 中实际是一个表单只能对应一个事件。 Spring 的优点: 1. 轻量级的 IoC 容器,可以管理bean之间的依赖关系。...
USBTransmitTest这个文件可能是项目中的测试程序或者相关代码,可能包含了实现上述功能的详细代码示例,包括STM32F407端的固件代码和VB上位机端的程序代码。开发者可以通过阅读和分析这些代码,进一步理解项目的具体...
如何把别人不想听的话说给他们听** - **尊重对方:** - 保持礼貌语气。 - 避免使用攻击性语言。 - **提供事实依据:** - 用具体例子支撑观点。 - 避免主观臆断。 **15. 如何处理管理神话** - **批判性思考:...
在安装指南的最后部分,介绍了如何运行样本数据库和维护样本数据库,这对于测试和学习ASE提供了便利。还说明了如何手动升级ASE,以及升级到15.7版本后需要执行的后续任务。 整体而言,Sybase ASE 15.7安装指南是一...
二是经过科学采集、存储、复制、分类、检测、查找等处理后的信息产品的集合。 信息是事物运动的状态和存在方式而不是事物本身。 它必须借助某种符号才能表现出来,而这些符号通常人们用数据来记录它。 二、信息技术...
不过话说回来,这样的代码移植性才好呢.想想连VC6都能编译的代码,移植性应该不错, :) [后记] 这是对以前的那个多维数组类的扩充与改进,增加了不少功能,去掉了不少限制, 现在静态数组的最大维数做到了3,...