Windows WEB服务器并发测试
web系统性能测试报告模板

1. 总述1.1测试对象数据采集测试系统1.2测试目的确定系统支持的最大并发用户数(系统的处理能力能达到2次请求/分钟)1.3测试环境1.4测试依据1.5参考资料1.6术语及缩写词●测试时间: 一轮测试从开始到结束所使用的时间●并发线程数: 测试时同时访问被测系统的线程数。
注意, 由于测试过程中, 每个线程都是以尽可能快的速度发请求, 与实际用户的使用有极大差别, 所以, 此数据不等同于实际使用时的并发用户数。
●每次时间间隔: 测试线程发出一个请求, 并得到被测系统的响应后, 间隔多少时间发出下一次请求。
●平均响应时间: 测试线程向被测系统发请求, 所有请求的响应时间的平均值。
●处理能力: 在某一特定环境下, 系统处理请求的速度。
●cache影响系数: 测试数据未必如实际使用时分散, cache在测试过程中会比实际使用时发挥更大作用, 从而使测试出的最高处理能力偏高, 考虑到这个因素而引入的系数。
1.7用户习惯操作频率: 根据用户使用习惯估算出来的, 单个用户在一段时间内, 使用此类功能的次数。
通常以一天内某段固定的高峰使用时间来统计, 如果一天内没有哪段时间是固定的高峰使用时间, 则以一天的工作时间来统计。
1.8预期平均响应时间:由用户提出的, 希望系统在多长时间内响应。
注意, 这个值并不是某一次访问的时间, 而是一段时间多次访问后的平均值。
1.9最大并发用户数:在给定的预期平均响应时间下, 系统最多能支持多少个并发用户。
这个数据就是实际可以同时使用系统的用户数。
1.10计算公式●成功率=成功次数÷(成功次数+失败次数)●处理能力=成功次数÷测试时间●最短平均响应时间=MIN(平均响应时间)●最高处理能力=MAX(处理能力)×(1-cache影响系数)2. 最大并发用户数=(最高处理能力-1÷(预期平均响应时间-最短平均响应时间+(1÷最高处理能力)))÷用户习惯操作频率, 此公式要注意各时间单位的不同和转换3. 测试方法3.1测试模型3.2测试过程简述3.3通过编写特定的测试流程, 使用多线程技术, 模拟多个浏览器持续一段时间并发访问被测系统, 记录系统相关的一系列信息, 计算出系统支持的最大并发用户数3.4需记录的数据测试时间平均响应时间成功次数失败次数web服务器CPU利用率(平均、最大)数据库服务器CPU利用率(平均、最大)4. 测试用例5. 测试结果5.1查看记录内容5.1.1 测试日期2006.03.125.1.2 数据测试时间5 (分钟)并发线程数每次时间间隔(秒)平均响应时间(秒)成功次数失败次数成功率处理能力(次/分)web服务器CPU占用率(%)数据库服务器CPU占用率(%)平均最大平均最大1 0 7.469 40 0 100.00% 8.00 34.45 47.15 60.16 80.671 0 7.909 36 0 100.00% 7.20 32.62 48.96 54.41 71.333 0 17.333 50 0 100.00% 10.00 43.37 53.65 87.73 98.673 0 16.805 52 0 100.00% 10.40 42.93 58.85 89.72 984 0 22.096 52 0 100.00% 10.40 43 54.92 93.25 99.344 0 22.187 52 0 100.00% 10.40 43.49 56.25 93.81 99.675 0 27.007 52 0 100.00% 10.40 43.64 58.03 96.56 99.34cache影响系数最短平均响应时间(秒)7.469最高处理能力(次/分)10.4用户习惯操作频率(次/天)30预期平均响应时间(秒)10 13 15 20最大并发用户数50.74 81.45 94.22 113.945.1.3 说明不断增加并发线程数, 系统处理的成功次数并没有增加, 说明系统已经达到最大处理能力6. (虽然从cpu占用率上看, 系统的处理能力还能够达到更高的数值, 但由于测算出的处理能力已经远远超出2次/分钟的预期值, 所以, 不需要再继续测试更高的数值)7. 附件7.1excel格式的原始数据和计算结果。
WEB性能测试-JMeter工具测试并发

WEB性能测试-并发测试今天根据程序开发的逻辑和习惯来解决几个问题:(1)JMeter并发测试的基本使用。
(2)redis和mysql相比的性能差距如何?(3)大量的并发和请求下redis、mysql、nginx各自会出现的问题?(4)遇到并发带来各种各样的问题如何解决?问题一:JMeter并发测试的基本使用(1)设置系统语言:Options->Choose Lanuage 里选择适合你的语言。
(2)添加线程组:(3)设置线程属性:线程数:也就是并发数。
Ramp-Up时间(秒):并发时间,0为同时并发。
循环次数:重复次数。
(4)添加HTTP请求:协议:http或https。
服务器名称或IP:请求地址。
路径:要请求的路由或文件路径。
参数:添加请求参数。
(5)添加察看结果树:可查看发送的数据,返回的结果等。
(6)添加汇总报告:可查看错误率,吞吐量等。
问题二:大量的并发和请求下redis、mysql、nginx各自会出现的问题?在同时并发2000的情况下(因为redis队列为异步,所以这里不考虑redis出列的性能问题):mysql:错误率87.9%,成功条数241。
redis:错误率0.35%,成功条数1993。
总结:从以上结果可以看出在高并发场景下msyql扛不住压力错误率高。
结论:redis在处理并发性能优于mysql。
问题三:大量的并发和请求下redis、mysql、nginx各自会出现的问题?3000并发循环请求3次相当于9000的次请求的情况下:(1)nginx报错:Too many open files(打开的文件数超过限制nginx默认为1024)。
(2)redis报错:RDB: 2 MB of memory used by copy-on-write。
(3)mysql直接写入失败。
问题四:遇到并发带来各种各样的问题如何解决?(1)nginx错误分析:最大打开文件数超过限制(2)redis错误分析:保存频繁导致内存不够了。
web性能测试方案

web性能测试方案一、引言在当今的互联网时代,网站的性能是吸引用户和提升用户体验的关键因素之一。
为了保证网站的性能,开发人员需要进行有效的web性能测试。
本文将介绍一种可行的web性能测试方案,以确保网站的高性能和良好的用户体验。
二、测试目标1. 测试网站的负载容量:通过模拟不同数量的并发用户访问网站,测试网站的负载容量,以确定网站在高负载情况下的表现。
2. 测试网站的响应时间:通过模拟用户在网站上执行不同操作(例如浏览页面、填写表单、提交数据等),测试网站的响应时间,以确保用户在访问网站时能够获得及时的响应。
3. 测试网站的稳定性:通过持续运行压力测试,测试网站在长时间高负载情况下的稳定性,以确定网站是否能够持续稳定地运行。
三、测试环境搭建1. 硬件环境:搭建一台或多台高性能服务器,用于模拟网站的生产环境。
服务器的配置应与实际生产环境相似,包括CPU、内存、存储等。
2. 软件环境:安装性能测试工具,例如Apache JMeter、LoadRunner 等,用于模拟大量用户访问网站,并收集测试数据。
3. 网络环境:保证网络连接的稳定性和速度,以模拟真实用户访问网站时的网络环境。
四、测试步骤1. 制定测试计划:根据测试目标和需求,制定详细的测试计划,包括测试的时间、范围、测试数据、预期结果等。
2. 配置测试场景:使用性能测试工具配置测试场景,包括模拟用户数、用户行为、并发用户数等。
根据实际情况,可以使用多个场景进行测试,以模拟不同的使用情况。
3. 运行性能测试:在测试环境下运行性能测试,通过性能测试工具模拟用户行为,例如浏览页面、填写表单、提交数据等。
同时,收集关键性能指标,如响应时间、吞吐量、错误率等。
4. 分析和优化:根据测试结果进行数据分析,找出性能瓶颈和问题,并提出相应的优化建议。
可能的优化措施包括优化代码、增加服务器资源、改进数据库查询等。
5. 再次测试和验证:在进行优化后,再次运行性能测试,验证优化效果。
web性能测试方案

web性能测试方案一、介绍Web性能测试是指对Web应用程序的性能进行评估和测量的过程,以便确定其响应时间、吞吐量、并发用户量等关键性能指标。
本文将介绍一种较为常用的Web性能测试方案。
二、测试目标1. 确定Web应用程序的响应时间:评估用户访问Web应用程序时所需的时间。
2. 测试服务器的负载能力:确定服务器能够承受的最大并发用户量。
3. 评估系统的稳定性:检查系统在长时间高负载情况下是否稳定。
三、测试工具本次性能测试将使用以下工具:1. Apache JMeter:一款开源的性能测试工具,支持模拟多用户并发访问。
2. LoadRunner:一款商业性能测试工具,可用于测试Web应用程序。
四、测试准备1. 定义测试场景:确定测试的目标和关注点,包括测试的并发用户数、持续时间、负载情况等。
2. 确定性能指标:根据业务需求和用户体验,确定关注的性能指标,如平均响应时间、吞吐量等。
3. 配置测试环境:搭建测试环境,包括服务器、数据库等,并确保网络环境符合实际情况。
4. 准备测试数据:准备模拟用户的测试数据,包括登录账号、访问页面等。
五、测试步骤1. 设置测试计划:在性能测试工具中,设置测试计划,包括目标URL、并发用户数等。
2. 配置线程组:设置线程组中的并发用户数、循环次数等参数。
3. 添加取样器:添加HTTP请求和其他取样器,模拟用户访问不同的页面和操作。
4. 设置断言和监控点:设置断言,检查页面返回的数据是否符合预期;设置监控点,监测服务器的负载情况。
5. 运行测试计划:运行性能测试,记录各项性能指标。
6. 分析测试结果:分析测试结果,评估Web应用程序的性能状况,查找潜在性能问题。
六、测试报告完成性能测试后,需要生成测试报告,报告应包括以下内容:1. 测试目标和关注点2. 测试环境配置和测试数据准备3. 测试步骤和工具选择4. 测试结果和性能指标分析5. 性能问题和建议七、优化方案根据性能测试结果和分析,提出相应的优化方案,以改善Web应用程序的性能,如:1. 优化代码:对性能瓶颈进行优化,如减少数据库查询次数、优化算法等。
Web应用功能测试的常见挑战与解决方案

Web应用功能测试的常见挑战与解决方案在当今数字化时代,Web应用在我们日常生活中扮演了重要的角色。
随着Web应用的不断发展和普及,对其功能的测试也变得越来越重要。
然而,Web应用功能测试面临着许多挑战,本文将探讨这些挑战,并提供解决方案来解决这些问题。
一、兼容性挑战1. 多种浏览器和设备:Web应用在不同的浏览器和设备上可能呈现不同的表现,因此需要进行兼容性测试。
解决方案是使用跨浏览器测试工具,例如Selenium,来确保Web应用在不同浏览器和设备上都能正常运行。
2. 多个操作系统:Web应用需要在各种不同的操作系统上进行测试,例如Windows、macOS和Linux等。
解决方案是建立多个测试环境,以确保Web应用在不同操作系统上的功能正常。
二、性能挑战1. 响应时间:Web应用的响应时间对用户体验至关重要。
解决方案是使用性能测试工具,例如LoadRunner,来模拟多种负载情况,以检验Web应用的响应时间。
2. 并发用户:Web应用需要能够处理多个并发访问的用户请求。
解决方案是使用负载测试工具,例如JMeter,来模拟多个并发用户,以确保Web应用的性能达到要求。
三、安全性挑战1. 数据保护:Web应用通常涉及敏感的用户数据,如个人信息和支付信息。
解决方案是加密用户数据,使用HTTPS协议传输,并进行安全性测试,以确保数据的保护。
2. 威胁防护:Web应用需要能够防范各种安全威胁,如SQL注入和跨站脚本攻击等。
解决方案是进行安全性代码审查和漏洞扫描,以及使用Web应用防火墙来防范潜在的安全威胁。
四、可维护性挑战1. 可重现性问题:在Web应用测试过程中,可能会出现一些难以重现的问题。
解决方案是建立一个实验环境,以便在出现问题时能够重新创建相同的测试环境,并调查和解决问题。
2. 自动化测试:Web应用通常包含大量的功能和页面,为了提高测试效率,需要进行自动化测试。
解决方案是使用自动化测试工具,例如Selenium和Appium,来执行重复的测试任务,以减少人力和时间成本。
web系统性能测试标准

web系统性能测试标准Web系统性能测试标准。
一、概述。
Web系统性能测试是指对Web系统进行负载和压力测试,以评估其在特定工作负载下的性能表现。
通过性能测试,可以发现系统的瓶颈和性能瓶颈,为系统优化和调整提供数据支持。
二、测试环境。
1. 硬件环境。
测试服务器的配置应该与生产环境尽量接近,包括CPU、内存、磁盘、网络等硬件设备。
测试服务器的性能要足够强大,能够承受大量并发访问的压力。
2. 软件环境。
测试服务器的操作系统、Web服务器、数据库、应用服务器等软件环境需要与生产环境一致,以保证测试结果的可靠性。
三、测试指标。
1. 响应时间。
响应时间是衡量Web系统性能的重要指标之一,它表示用户发出请求后系统作出响应所需的时间。
响应时间的长短直接影响用户体验,因此需要对其进行充分的测试和评估。
2. 吞吐量。
吞吐量是指系统在单位时间内处理的请求数量,也是衡量系统性能的重要指标之一。
通过吞吐量的测试,可以评估系统在不同负载下的处理能力,为系统的容量规划提供依据。
3. 并发用户数。
并发用户数是指系统能够同时处理的用户请求数量,也是一个重要的性能指标。
通过并发用户数的测试,可以评估系统在高并发情况下的稳定性和可靠性。
四、测试方法。
1. 负载测试。
负载测试是指通过模拟用户行为,对系统进行不同负载下的性能测试。
可以使用负载测试工具,如JMeter、LoadRunner等,模拟大量用户并发访问系统,观察系统的响应时间、吞吐量等指标。
2. 压力测试。
压力测试是指通过逐渐增加系统负载,测试系统在极限负载下的表现。
可以使用压力测试工具,如Apache Bench、Siege等,对系统进行长时间、大负载的测试,观察系统的稳定性和可靠性。
五、测试报告。
测试报告是性能测试的重要成果之一,应该包括测试环境、测试指标、测试方法、测试结果等内容。
测试报告需要清晰、准确地反映系统在不同负载下的性能表现,为系统优化和调整提供数据支持。
六、总结。
web性能测试标准

web性能测试标准Web性能测试标准。
Web性能测试是评估Web应用程序性能的重要手段,通过对Web应用程序的性能进行测试,可以及时发现和解决潜在的性能问题,提升用户体验,保障系统稳定性。
因此,制定一套科学合理的Web性能测试标准对于保障Web应用程序的性能至关重要。
首先,Web性能测试的标准应包括以下几个方面:1. 响应时间,响应时间是衡量Web应用程序性能的重要指标之一。
通过模拟用户请求,记录服务器响应的时间,可以评估Web应用程序的响应速度。
响应时间的标准应根据具体的业务需求来制定,一般来说,对于常规的Web应用程序,响应时间应控制在2秒以内,对于高并发、大流量的Web应用程序,响应时间应控制在1秒以内。
2. 并发用户数,并发用户数是指同时访问Web应用程序的用户数量。
通过模拟多个用户同时访问Web应用程序,可以评估系统在高并发情况下的性能表现。
并发用户数的标准应根据系统的承载能力来制定,一般来说,对于普通的Web应用程序,系统应能够承受1000个并发用户的访问,对于高负载的Web应用程序,系统应能够承受10000个并发用户的访问。
3. 负载测试,负载测试是评估Web应用程序在不同负载下的性能表现。
通过逐渐增加用户访问量,可以评估系统在不同负载下的响应速度和稳定性。
负载测试的标准应根据系统的负载能力来制定,一般来说,系统应能够在高负载下保持稳定,响应速度不应有明显下降。
4. 可靠性,可靠性是评估Web应用程序性能的重要指标之一。
通过模拟用户访问,可以评估系统的稳定性和可靠性。
可靠性的标准应根据系统的稳定性要求来制定,一般来说,系统应能够在24小时内保持稳定运行,不出现重大故障。
综上所述,Web性能测试标准应包括响应时间、并发用户数、负载测试和可靠性等方面,通过科学合理的测试方法和标准,可以全面评估Web应用程序的性能表现,及时发现和解决潜在的性能问题,提升用户体验,保障系统稳定性。
因此,制定一套科学合理的Web性能测试标准对于保障Web应用程序的性能至关重要。
web性能测试方案

web性能测试方案为了确保Web应用程序的顺畅运行和高效性能,对其进行性能测试是必不可少的。
本文将介绍一种可行的Web性能测试方案,以便为开发团队和测试团队提供明确的指导。
一、测试目标和范围在制定性能测试方案之前,明确测试目标和范围非常重要。
具体而言,我们的测试目标是评估Web应用程序的响应时间、并发用户数、系统负载能力和稳定性。
范围包括Web应用程序的功能模块、各种操作场景和预期的用户访问模式。
二、测试环境搭建为了进行有效的性能测试,需要搭建一个与实际生产环境接近的测试环境。
这包括硬件设备、网络带宽、数据库配置等方面的设置。
同时,还需要模拟真实用户的访问行为,根据预期的用户访问模式设置虚拟用户。
三、性能指标定义根据测试目标,我们需要定义一些关键的性能指标来评估Web应用程序的性能。
常见的性能指标包括:1. 响应时间:即用户在执行某个操作时,系统返回结果所需的时间。
2. 吞吐量:表示Web服务器在单位时间内处理请求的数量。
3. 并发用户数:指同时访问Web应用程序的用户数量。
4. 错误率:表示出现错误的请求或操作在总请求中的百分比。
5. 资源利用率:包括CPU利用率、内存利用率和网络带宽利用率等。
四、测试场景设计测试场景是指一系列用户操作的集合,用于模拟真实用户的访问行为。
设计合理的测试场景能够更好地评估Web应用程序的性能。
在设计测试场景时,需要考虑以下几个方面:1. 常用操作:包括浏览网页、填写表单、提交请求等常见的用户操作。
2. 边界条件:针对某些功能模块的最大值或最小值进行测试,以评估系统在极限条件下的性能。
3. 并发访问:模拟同时有多个用户访问Web应用程序,测试其在高并发情况下的稳定性和性能表现。
五、测试工具选择选择合适的测试工具是测试方案中的关键一步。
常用的Web性能测试工具包括JMeter、LoadRunner、Gatling等。
根据测试需要和团队的技术能力,选择一款适合的测试工具进行性能测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何测试服务器10W用户访问2008年12月01日星期一05:14这个帖子的内容比较典型,大家有兴趣可以也思考一下。
帖子源于51testing论坛先是楼主提出问题:最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略)一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本)还有一种则需要测试服务器能否接受10万用户同时在线操作,但使用的Loadrunner的license 只能支持1万用户,请问这时该如何制定该方案?后面跟着大家的回复:网友xingcyx 的回复:1、找10台电脑也没用,license仍然只支持10000个。
2、找HP支持。
当然,前提是你有足够的钱。
3、测到10000用户并发。
我认为,通常情况下10000用户并发,支持100000用户在线,没有问题的。
网友jackloo 的回复:总的来说这一类的性能指标对大多数软件来说没什么实际意义,更多的是对硬件的要求。
如果是用IIS做应用服务器的话,单台可承受的最大并发数不可能达到10万级,那就必须要使用集群,通过多台机器做负载均衡来实现;如果是用websphere之类的应用服务器的话,单台可承受的最大并发数可以达到10万级,但为性能考虑还是必须要使用集群,通过多台机器做负载均衡来实现;那么,你只要集群的服务器足够多,10万并发数当然可以达到了。
通常有1个简单的计算方式,1个连接产生1个session,每个session在服务器上有个内存空间大小的设置,在NT上是3M,那么10万并发就需要300G内存,当然实际使用中考虑其他程序也占用内存,所以准备的内存数量要求比这个还要多一些。
还有10万个用户同时在线,跟10万个并发数是完全不同的2个概念。
这个楼上已经说了。
但如何做这个转换将10万个同时在线用户转换成多少个并发数呢?这就必须要有大量的历史日志信息来支撑了。
系统日志需要有同时在线用户数量的日志信息,还需要有用户操作次数的日志信息,这2个数据的比例就是你同时在线用户转换到并发数的比例。
另外根据经验统计,对于1个JA V A开发的WEB系统(别的我没统计过,给不出数据),一般1台双CPU、2G内存的服务器上可支持的最大并发数不超过500个(这个状态下大部分操作都是超时报错而且服务器很容易宕机,其实没什么实际意义),可正常使用(单步非大数据量操作等待时间不超过20秒)的最大并发数不超过300个。
假设你的10万同时在线用户转换的并发数是9000个,那么你最少需要这样的机器18台,建议不少于30台。
当然,你要是买个大型服务器,里面装有200个CPU、256G的内存,千兆光纤带宽,就算是10万个并发用户,那速度,也绝对是嗖嗖的。
楼主的回复:谢谢jackloo !再请问如果我想测试10000个用户同时在线做常用操作的话(每两秒加一个用户,一直加到10000),对服务器的要求有多高?网友jackloo 的回复:套用1句经典台词“高,实在是高”呵呵。
另外暴寒1下,你的设置光全部进入运行状态就需要接近6个小时。
具体的你可以拿1个系统来压一下看看,可能会出现以下情况:1。
服务器宕机;2。
客户端宕机;3。
从某个时间开始服务器拒绝请求,客户端上显示的全是错误;4。
勉强测试完成,但网络堵塞或测试结果显示时间非常长。
假设客户端和服务器之间百兆带宽,百兆/10000=10K,那每个用户只能得到10K,这个速度接近1个64K的MODEM上网的速度;另外以上分析全都没考虑系统的后台,比如数据库、中间件等。
我从没遇到你说的这样的性能需求过,也只好凭感觉随便掰掰:1。
服务器方面:上面说的那样的PC SERVER需要50台;2。
网络方面:按每个用户50K,那至少5根百兆带宽独享,估计仅仅网络延迟就大概是秒一级的;3。
如果有数据库,至少是ORACLE,最好是SYSBASE,SQL SERVER是肯定顶不住的。
数据库服务器至少需要10台4CPU、16G内存的机器;4。
如果有CORBA,那至少再准备10台4CPU、16G内存的机器;再加上负载均衡、防火墙、路由器和各种软件等,总之没个1000万的资金投入,肯定搞不定。
网友mybasswood 的回复:如果是10万用户的话要看做些什么哈.比如对于voip来说,假设有10万用户的话,服务器规定每个client至少要在3600秒内到服务器成功报到一次,否则就被服务器cancel掉.client是每隔60秒注册一次.所以就要推算在3600秒内,每一个client至少成功报到一次是最少的标准.要10万用户在3600秒内被服务器吃掉才可以---这是最低要求.最高要求是: 在60秒内所有的10万用户去注册,如果服务器在60秒可以都吃掉的话,每秒种的平均并发差不多是3334.最低要求是:在3600秒内所有的10用户去注册,如果服务器在3600秒内都可以吃掉的话,每秒钟的平均并发用户差不多是60个.还有一过问题是客户端要在3600秒内发送至少60次,至少有一次成功.再加上这些用户分布在全球各地的话,这样数值应该还会有变化的.下面是偶的看法:给楼主一个建议吧。
你在公司中的测试环境是一定的,你需要做得是现在这个环境中确认一下系统在当前环境下的实际处理能力。
如果还有资源,再做一下可伸缩性的测试。
然后对测试结果进行分析,对系统的处理能力和可伸缩性做一个描述。
当然,要在报告中说明你的测试环境。
另外一位网友robust 的留言:你的意思是否想用10000个用户测试结果来推测一下10万个用户?还是如有些老兄说的,测试一下什么伸缩性测试.然后也来个报告,无非也是想用1万个来推测10万个的情况?(评注:那样的话要你做什么性能测试,只要计算一下就可以得性能结果了.)还是如有些老兄说的,这一类的性能指标对大多数软件来说没什么实际意义,更多的是对硬件的要求?(评注:那样的话要你做什么性能测试,做什么性能调优,只要计算一下,添加硬件就可以了.)实际上,"实践是检验真理的唯一标准!"这句话才是硬道理.只有真实地测试过才知道.任何推测只是推测,并不能反映真实的情况.至于性能测试工具,LR只是普及率高(市场占有率高),并不是在性能指标上有优势.世界上比它厉害的工具有不少,举个例子siprent通信公司的avalanche2500,大型计算机实验室配备的性能测试工具.支持录制/回放,测试结果分析等.它可以模拟从数据层到应用层的协议,(当然也包含http-web),单个支持100万并发连接.拿它也可以测试100万级的并发性能.又是偶的回复:楼上的提到的见解不错,不过对性能测试的理解有些偏差。
先抛开性能测试工具不谈,其实这个问题是讨论到一个性能测试到底该怎么做。
简单举个例子,如果你想知道一种新的疫苗对人的作用,是不是要把所有的地球人全部找来每个人打一针试试呢?当然不是,只能是通过试验和抽样,然后通过统计学的方法来计算出一个模型,通过样本的表现来估算总体的特征。
这就是统计学研究的领域,。
不过请注意,统计学所包含的内容并不是像楼上的老兄所说的一样:只要计算一下就可以得性能结果了。
性能测试也同样如此。
楼主提到的性能需求应该是系统上线以后可能要面临的压力,先不讨论这个需求是否准确和有效,我们先假定它是有效的。
那么,既然要验证的是系统在上线以后是否有能力应对10万用户同时在线的情况,那么自然要用生产环境来测试。
如果有,那么OK,可以作这个测试。
至于工具,其实可以由开发人员帮忙写一些简单的脚本负责加压,再通过其他第三方工具收集测试数据就是了。
但是如果没有生产环境,只有一台双CPU,3G内存的2850 服务器,怎么办?这就好像上面提到的例子。
可行的方法是在这台服务器上使用不同级别的负载来进行测试,并根据测试数据获得系统在这种环境下的最佳负载和最大负载,并根据测试数据对负载和资源消耗的情况进行估算,找到它们之间的关系。
一般来说,大型的门户网站不会只用一台超级超级的服务器来承担所有的负载,因为采用负载均衡和集群技术可以更好的解决这个问题,一定是多台服务器分布在不同的地方,内容通过内容分发网络同步到各台服务器上。
用户在访问时,其实是被应用层或者前端设备路由到一个合适的服务器去的。
所以在测试时,对于可伸缩性的测试是必需的,一定要了解到cluster 数量增加时,系统的响应能力是否可以线性的增加,也就是说是否可以承受更大的压力,为更多的用户提供服务。
最后总结一下,对于性能测试,要作的是确认系统的响应能力,然后看系统是否可以满足性能需求。
如果大家有不同的见解,欢迎PK 讨论继续偶的回复:to jackloo你所提到的对于硬件资源和软件资源的要求并不完全准确。
因为实际的资源消耗要根据网站所提供的业务类型来推算。
对于大多数门户网站来说,可供访问的大多是静态页面。
在用户访问时,系统只是返回一个静态页面给用户,并不需要保持session,而且这种情况下负载主要集中在I/O和网络流量方面——这也是为什么大型门户网站都会采用分布式的方式来部署服务器。
当然,如果使用了cache,内存的使用会随着服务器运行时间的延长而增加,但是CPU 通常不会成为关键资源。
这是门户网站同企业应用或者在线游戏的区别。
还是偶:to 楼主上面我也提到了,你需要进一步的明确你的测试需求是否有效,合理。
性能需求需要根据网站具体提供的业务类型来作为依据进行衡量。
就如同上面提到的,是只提供了静态页面的访问?还是有其他的业务?要区分清楚注册用户、在线用户和并发用户的区别。
另外,你最迫切需要担心的并不应该是LR 的license 问题,而是被测的系统能否支持的了几百或者几千并发用户,如果连这个都支持不了,就更不用考虑上万的并发访问了。