分析三:

  本案中,作者的描述有些歧义:

  1、“三级连接模式”,不知道是不是有服务器,有端站,有客户端的模式,还是采用了服务器集群,多台服务器分三级级连

  2、“每个服务端能支持连接500个客户端,总要求支持大约5000个客户端。”

  3、“服务端初次连接客户端,”这个不知道是不是应该是“客户端初次连接服务端”,而书写的当时,思维太快了,手没跟上,请教开发工程师都说“一般都是客户端去连接服务端的“拉”模式,而极少服务端向客户端“推”的模式。”

  4、“在产生事件时,客户端会自己上报给服务端”,不知道是不是以发送日志文件的形式上报。

  5、“在实验室中测试系统稳定可用”,实验室中测试是不是只有10个端站的情况下,而并没有采用任何的测试工具来做模拟端站和用户,已达到实际需要的量级。

  6、“下次客户端机器启动时,会自己连接服务端。”这个连接,是指自动登录还是会同步数据或者仅是网络连接?

  所以,对于本案编者只能按照性能测试的一般做法做一个介绍,不能详细的分析本案为什么会出现了不稳定运行的状况了,希望能对本案作者及遇到相同问题,或者准备做性能测试的同行们有所启发。

  首先,我们为什么做性能测试呢?

  性能测试的目的:

  一、评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的数据处理能力,并帮助作出决策。

  二、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。

  三、系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。

  四、验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的方法。

  性能测试类型包括:

  负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。

  强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。

  容量测试:确定系统可处理同时在线的大用户数

  性能测试观察指标:

  性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的大服务级别的测试。

  在实际中作中我们经常会对两种类型软件进行测试:bs和cs,这两方面的性能指标一般需要哪些内容呢?Bs结构程序一般会关注的通用指标如下(简):

  Web服务器指标指标:

  1、Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;

  2、Avg time to last byte per terstion (mstes):平均每秒业务角本的迭代次数 ,有人会把这两者混淆;

  3、Successful Rounds:成功的请求;

  4、Failed Rounds:失败的请求;

  5、Successful Hits:成功的点击次数;

  6、Failed Hits:失败的点击次数;