负载测试您的 Web 服务器
世界上所有的理论、计算和估算都无法告诉你你的网站在负载下的真实表现。如果你正在部署新的服务器或进行任何类型的性能增强,你肯定不想在生产环境中测试结果。在访问者之前先了解你的系统表现始终是一个好主意。为此,你可以使用负载测试工具,以下是我经常使用的一些工具。
内特林
我使用的“快速而粗糙”的应用程序之一是 Netling。这是一个用 C# 编写的超级简单的测试器。您需要使用 Visual Studio 进行编译,但您不一定需要是开发人员才能完成。我已经能够加载它,并选择“构建”来创建它,并且无需任何修改,可以使用多个版本的 Visual Studio 进行创建。
Netling 的操作非常简单,几乎无比简单。
您可以选择要运行的线程数。这完全取决于您,线程数越多,机器负载就越大,而且取决于您的 CPU 核心数,线程数越多并不一定越好。您可以自行尝试,找到最适合您的方案。
它具有“流水线”功能。这意味着多个请求将通过单个套接字进行处理,而无需等待响应。将此值设置得更高会产生更高的负载,但同样,为了获得最佳效果,需要进行一些调整。流水线的物理限制取决于您的硬件和连接速度。
这是一个非常方便的工具,使用起来非常简单。我使用 Netling 时遇到的一个问题是,它发送的原始请求与真实的浏览器不太一样。为了更准确地模拟真实流量,我还有另一个喜欢使用的工具。
Netling 的优点
- 自由的
- 开源,可以轻松修改
- 极其简单
Netling 缺点
- 不能很好地模拟真实交易
- 无法进行身份验证或其他模拟
- 每次仅测试一个 URL
网络浪潮
Web Surge 是迄今为止我最喜欢的应用之一。它是一款非常棒的应用,能够非常逼真地模拟服务器负载。
使用此程序,您可以创建会话,这意味着您可以使用多个 URL 进行测试。每个 URL 都会在会话中运行,这可以使测试更加随机和真实。它还有很多很棒的选项:
它可以为您提供快速的结果,并且您可以“深入”以获取更详细的数据。
您还可以以多种格式导出这些结果。包括 Websurge 专有格式,以及 XML 或 JSON 格式。您可以解析这些结果,以便将来进行分析工作。
总的来说,Websurge 是我最喜欢的负载测试工具之一,因为它更接近真实世界的流量。如果你把所有页面都列出来,然后随机进行测试,它就能提供一些可靠的信息。
Web Surge 优点
- 免费(个人使用)
- 专业版价格合理
- 速度快,负载大
- 使用简单,功能强大
- 很好地模拟了“真实世界”的交通
- 高度可配置
Web Surge 缺点
- 我能想到的
Apache JMeter
我们接下来要介绍的应用程序是 Jmeter。它是一款功能极其强大的程序,除了生成负载外,还能进行非常全面的测试。事实上,使用 Jmeter 进行负载测试只是其整体功能的一小部分。
使用 JMeter,您可以运行各种场景,因为它更像是一个面向测试的应用程序,您可以在测试中运行更长的步骤和流程。
我鼓励您深入研究这个应用程序并尽可能多地了解它,以充分利用它的好处。
Apache JMeter 优点
- 自由的
- 非常强大
- 可以设置详细测试
- 最小设置
Apache JMeter 缺点
- 学习曲线更陡峭
- 可能相当复杂
- 可能超出您的需要
结论
市面上有很多用于生成负载的工具,但这些是我最常用的。我喜欢设置各种不同的测试,以准确评估网站的性能及其对负载的反应。
事实上,我最看重的是服务器对高负载的反应。在进行性能测量时,很难真正确定所有变量并证明某个更改确实提升了性能。但向服务器发送高负载并观察其反应却能得出相当肯定的结论。
鏂囩珷鏉ユ簮锛�https://dev.to/jeremycmorgan/load-testing-your-web-server-1c10