如何从两端对 PHP 网站进行负载测试

问题描述 投票:0回答:2

我们用 PHP 开发了一个用于小型服务的网站。在生产之前,我们必须从服务器端(即 Apache)和客户端进行性能和负载测试。

从客户端,我想知道总体和每个对象的平均响应时间是多少等。对于后端(apache Web服务器),我想知道它在性能之前可以处理多少个请求(客户端)开始退化。

有没有像我们在Linux平台上那样的开源工具,用于此目的。或者是否有任何网站(免费)可以进行所有这些测试。 我们更关心负载测试,例如,我们希望同时向 1000 个用户请求我们的网站,并希望检查客户端和服务器端不同的性能指标。

php apache performance performance-testing load-testing
2个回答
14
投票

由于您正在运行 Apache,因此您可以使用

ab
对应用程序的服务器端进行压力测试。

Apache HTTP 服务器基准测试工具

ab
是一个用于对 Apache 超文本传输协议 (HTTP) 服务器进行基准测试的工具。它旨在让您了解当前 Apache 安装的执行情况。这特别显示了您的 Apache 安装每秒能够处理多少个请求。

让我们看一个例子:

ab -k -c 100 -n 10000 example.com/

通过发出上述命令,您将同时访问 http://example.com/,同时连接 100 个,直到满足 10,000 个请求。

这里有另一个如何使用的教程

ab

使用 ApacheBench 对您的 PHP 应用程序进行压力测试

其他一些有用的工具是:

  1. Apache JMeter
  2. httperf

如果您想更详细地了解您的

php
对象和所有这些东西,我建议您检查blackfire。据我所知,他们提供了一个用于本地测试的免费版本,并且只有一个应用程序。但我认为您现在不需要这个。

对于您的

front end
,我建议您使用一组工具来帮助您查看页面在不同设备中的表现:

  1. 灯塔
  2. PageSpeed 见解
  3. 平多姆

1
投票

您可以在 https://web.archive.org/web/20210425105036/http://www.opensourcetesting.org/category/testing-tools-overview/performance/ 找到免费开源负载测试工具的列表?menu-page=overview,目前有 59 个(并且还在增加)。

最先进的跨平台开源负载测试工具的缩小列表可以在开源负载测试工具:你应该使用哪一个?文章中找到,它还有功能比较矩阵、示例脚本和报告。

鉴于您的应用程序是使用 PHP 编写的,我的期望是您在其他编程语言方面没有太多专业知识,因此最明显的选择是:

  • Tsung,您可以在其中使用 XML 文件创建负载测试
  • Apache JMeter 也以 XML 格式存储测试脚本,但是您可以使用 GUI 来创建测试逻辑,这可能更快、更容易。

这两种工具都提供记录和重播功能,因此您将能够使用浏览器构建测试场景框架。

© www.soinside.com 2019 - 2024. All rights reserved.