如何从两端对 PHP 网站进行负载测试
How to do load testing of a PHP website from both ends
我们在 PHP 开发了一个小型服务网站。在生产之前,我们必须从服务器端(即 Apache)和客户端进行性能和负载测试。
从客户端,我想知道整体和每个对象的平均响应时间是多少等。对于后端(apache 网络服务器),我想知道它可以处理多少请求(客户端)在其性能开始下降之前进行处理。
有没有像我们Linux平台上的开源工具,可以做这个用途。或者是否有任何网站(免费)可以进行所有这些测试。
我们更关心负载测试,我们希望同时向 1000 个用户请求我们的网站(例如),并希望检查客户端和服务器端不同的性能指标。
您可以在 http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview 找到免费和开源负载测试工具的列表,目前有 59 个(并且还在增加)。
可以在 Open Source Load Testing Tools: Which One Should You Use? 文章中找到最先进的跨平台开源负载测试工具的缩小列表,它还有功能比较矩阵、示例脚本和报告。
鉴于您的申请是 PHP,我预计您在其他编程语言方面没有太多专业知识,因此最明显的选择是:
- Tsung 您可以在其中使用 XML 文件创建负载测试
- Apache JMeter 也以 XML 格式存储测试脚本,但是您可以使用 GUI 来创建测试逻辑,这可能会更快更容易。
这两种工具都提供记录和重放功能,因此您将能够使用浏览器构建测试场景框架。
由于您是 运行 Apache,您可以使用 ab
对应用程序的服务器端进行压力测试。
Apache HTTP server benchmarking tool
ab
is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.
我们来看一个例子:
ab -k -c 100 -n 10000 example.com/
通过发出上面的命令,您将达到 http://example.com/ 100 个并发连接,直到满足 10,000 个请求。
这里有另一个使用教程ab
Stress-Test Your PHP App With ApacheBench
其他一些有用的工具是:
如果您想更详细地查看 php
对象和所有这些东西,我建议您查看 blackfire。据我所知,他们提供用于本地测试的免费版本,并且只有一个应用程序。但我认为你暂时不需要这个。
对于您的 front end
我建议您使用一组工具来帮助您查看您的页面在不同设备上的表现:
我们在 PHP 开发了一个小型服务网站。在生产之前,我们必须从服务器端(即 Apache)和客户端进行性能和负载测试。
从客户端,我想知道整体和每个对象的平均响应时间是多少等。对于后端(apache 网络服务器),我想知道它可以处理多少请求(客户端)在其性能开始下降之前进行处理。
有没有像我们Linux平台上的开源工具,可以做这个用途。或者是否有任何网站(免费)可以进行所有这些测试。 我们更关心负载测试,我们希望同时向 1000 个用户请求我们的网站(例如),并希望检查客户端和服务器端不同的性能指标。
您可以在 http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview 找到免费和开源负载测试工具的列表,目前有 59 个(并且还在增加)。
可以在 Open Source Load Testing Tools: Which One Should You Use? 文章中找到最先进的跨平台开源负载测试工具的缩小列表,它还有功能比较矩阵、示例脚本和报告。
鉴于您的申请是 PHP,我预计您在其他编程语言方面没有太多专业知识,因此最明显的选择是:
- Tsung 您可以在其中使用 XML 文件创建负载测试
- Apache JMeter 也以 XML 格式存储测试脚本,但是您可以使用 GUI 来创建测试逻辑,这可能会更快更容易。
这两种工具都提供记录和重放功能,因此您将能够使用浏览器构建测试场景框架。
由于您是 运行 Apache,您可以使用 ab
对应用程序的服务器端进行压力测试。
Apache HTTP server benchmarking tool
ab
is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.
我们来看一个例子:
ab -k -c 100 -n 10000 example.com/
通过发出上面的命令,您将达到 http://example.com/ 100 个并发连接,直到满足 10,000 个请求。
这里有另一个使用教程ab
Stress-Test Your PHP App With ApacheBench
其他一些有用的工具是:
如果您想更详细地查看 php
对象和所有这些东西,我建议您查看 blackfire。据我所知,他们提供用于本地测试的免费版本,并且只有一个应用程序。但我认为你暂时不需要这个。
对于您的 front end
我建议您使用一组工具来帮助您查看您的页面在不同设备上的表现: