冯 倩
(灵宝市高级技工学校,灵宝 472500)
近二十年来,互联网技术以超乎想象的速度高速发展。Web 以其广泛性、交互性和易用性的优势快速地应用到社会的各个行业中。无论是早期互联网的门户网站还是现在风头正盛的电子商务网站都应用 Web 技术。Web 性能是影响Web 应用程序使用的重要因素,所以,改善和提高Web 应用的性能是一个重要的研究课题。早期的Web 应用多是基于静态页面,发展到今天的Web 应用已经逐渐发展为动态、可交互的应用。绝大部分企业的商业应用都建立在Web 之上,Web 性能的好坏直接影响经济发展和企业竞争力。
Web 性能的测试目前主要是指对于动态Web 应用性能的测试。Web 测试的主要内容包括功能测试、性能测试、可用性测试、客户端兼容测试和安全性测试。本文主要研究的是Web 的性能测试。对于Web 的性能测试简单来讲就是模仿Web 用户对于Web 系统进行一系列的操作,然后发现Web 系统的各项性能指标,根据测试结果进行系统优化。对Web 性能的测试主要包括以下指标:Web 的前端和后端响应时间、系统的吞吐量(TPS)、网络资源占用、硬件资源状态等。通过这些指标可以选择合适的测试工具和测试方法来对Web 进行测试,找出影响Web 性能的问题,为整个Web 环境的优化提供有力的依据。
响应时间一般都是测试系统性能最直观和最直接的测试内容。对于Web 性能的测试,响应时间不仅仅是后端的响应时间测试,更应该包括前端的响应时间测试。一般测试都是利用测试工具对于后端的响应进行测试,生成数据。但是前端的响应时间能直接影响用户对Web 性能的感受,所以,对Web 性能的测试也要包括前端的响应时间。前端响应时间的测试主要包括:DNS 解析、TLS 的建立、字节流的发送和各种请求的连接。后端响应时间具体包括:前端请求的等待时间、接收信息流的时间和返回相响数据的时间。通常来讲,用户能接受的响应时间为5 秒之内,超过这个响应时间就说明Web 性能存在问题。
系统吞吐量是单位时间内,CPU 从存储设备中读取、处理和存储数据的量,也被成为TPS(每秒钟equest/事务 数量)。系统吞吐量是影响Web 性能的一个重要因素。通常,影响一个Web 系统吞吐量的因素有request 对CPU 的消耗、外部接口与IO。消耗越高,系统的吞吐能力越差。一些Web 系统中的消耗过高,系统处理能力变差,性能也会出现问题。所以,对于系统吞吐量的测试能够很好的验证Web 性能是否存在问题。
网络资源占用情况也是影响Web 性能和系统响应时间的一个重要因素。当测试内存、CPU 和其他硬件资源都正常的情况下,Web 的系统吞吐量较低,那么就需要考虑是网络资源占用较高导致的Web 性能差。对于网络资源占用情况的测试一般采用在Linux 系统中查看网卡信息和带宽的信息,另外也可以在任务管理器中进行查看。对于网络资源占用情况的测试目前许多电脑管家类软件也专门有测试网络资源占用情况的功能。
硬件资源是Web 运行的硬件基础,与软件和网络一起构成了Web 运行的三大支持。硬件资源情况的优劣直接影响了Web 性能的好坏。通常对硬件资源情况的测试包括对CPU 的测试和对内存状态的测试 。对于CPU 的测试主要是测试CPU 的使用率是否超过百分之八十,如果测试结果超过,Web 的性能就比较差。对于内存的测试主要是测试是否出现内存持续上涨的情况。这些硬件资源情况的测试是Web 性能测试的重要内容之一。
对于Web 性能的测试,不仅仅需要从测试内容方面进行研究,更需要掌握一些比较优秀的测试工具来进行性能测试过程。专业的测试软件目前市场上有很多产品,主要推荐以下几款Web 性能测试工具。
1.Loadrunner 测试工具
这是一种能够模拟千万级别的用户负载的一种实时性能检测软件。使用这款性能测试软件对Web 进行测试能够高效地预测Web 的性能负载。
2.Apache JMeter 测试工具
这是一款基于Java 的测试软件,对静态Web 和动态Web 都能进行性能测试。主要是利用对服务器和网络进行巨大负载的模拟进行性能测试。
3.Load UI 测试工具
这是一款压力测试软件,能够高效的对Web 进行各种功能测试和性能测试。同时,这款工具还可以在测试期间进行创建、配置和更新测试内容。
Web 性能测试的方法主要有压力测试和负载测试。对于Web 性能的测试过程主要是利用测试工具进行模拟测试Web 在各种环境下的各项性能指标是否正常。在性能测试中需要测试工具模拟大量的并发用户,同时监控系统进行负载参数的分析。对于Web 的系统平均响应时间进行观察和记录。对于系统资源中的CPU 占用率,I/O 读写请求数、读写量,带宽的占用率以及内存的占用率进行测试和记录。对于Web 系统进行压力测试和负载测试之后,利用测试的性能指标,对Web 性能做出评估。
由于Web 应用在实际的使用中还有许多能够提升性能的空间,这就需要对Web 进行性能测试并作出评估,然后在此基础上进行性能优化。对Web 的性能的测试能有效的识别出Web 系统的问题所在和瓶颈所在,企业能够在性能评估之后做出突发负载的预案。对于Web 性能的测试就是通过测试工具模拟大量的用户同时访问Web系统,测试Web 系统的各项性能指标,作出性能评估。主要的方法就是压力测试和负载测试。通过性能测试能够预测Web 系统的最大负载能力,作出性能优化方案和负载预案。