gpt4 book ai didi

java - 在对我的网站进行负载测试时,我应该忽略 Java Script 吗?

转载 作者:行者123 更新时间:2023-11-29 18:25:49 25 4
gpt4 key购买 nike

我们正在开发一个网络应用程序,它必须能够承受相当大的负载。我正在 HP (Proliant DL 380) 服务器(两个 3.6GHz Xeon cpus,16 GB RAM,...)上运行我的测试。我正在使用 Apache JMeter 和 pylot 运行负载测试(它们显示出类似的结果)。

在一个场景中,我将负载测试程序配置为访问我的索引页面,只使用一个线程,尽可能多。索引页面大约 60KB,包含大约 10 个 ajax 调用、大量 JavaScript 和 jQuery 代码、所需的 CSS 等。我得到的结果很令人失望。

完整的 index.jsp 页面:

  • 吞吐量(请求/秒):3.567
  • 响应时间(秒):0.278

所以我删除了每个 ajax 调用,删除了图表和 CSS(但不是 JS)

  • 吞吐量(请求/秒):6.082
  • 响应时间(秒):0.161

还是很低!所以我构建了一个 HTML 格式的静态索引页面,其中包含所有具有相同大小的数据(没有任何服务器端和客户端计算)

  • 吞吐量(请求/秒):20.787
  • 响应时间(秒):0.046

哇,这是一个突破!现在我将一些 JavaScript 代码添加到 index.html 页面

  • 吞吐量(请求/秒):9.617
  • 响应时间(秒):0.103

嗯,我认为瓶颈已经找到,Java Script 代码。我需要找出“服务器”可以处理多少请求/秒,并且由于 java 脚本在客户端运行,我认为我不应该将它包含在此测试中。那么负载测试工具应该处理JS代码吗? (他们好像是这样做的)

另一个关键问题是,根据硬件、内容大小和上述配置,这个吞吐量是否合理?我不应该期待更多吗?我的期望是每秒 500 个请求!是添加硬件的唯一解决方案吗?!

顺便说一句,webapp 是使用 Java+Struts2+JSP+Hibernate+MySQL 构建的。它还使用 haproxy 分布在多个服务器上。但上述测试是在单个服务器上运行的。

最佳答案

如果您正在寻找的是服务器提供内容的速度的原始数字,那么我会说是的,请忽略 java 脚本并关注传输所有不同位所需的速度页面(HTML、图像、脚本文件、CSS 等)。

但是,如果您尝试测试用户体验,那么 JS 就是其中的一部分,因此您需要考虑到这一点。从你的描述来看,你并不担心用户体验,而是担心加载到服务器。

您可能需要考虑设置 JMeter 以直接调用页面的各个部分,如上面第一句所述。

关于java - 在对我的网站进行负载测试时,我应该忽略 Java Script 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13331032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com