【问题标题】:Why My web site time out while running JMeter load Test为什么我的网站在运行 JMeter 负载测试时超时
【发布时间】:2016-07-03 03:28:41
【问题描述】:

我是 JMeter 的新手。我跟着this教程学习了JMeter。

我尝试在以下条件下进行负载测试。

 Number of Threads (Users) - 1000

 Ramp-Up Period (in seconds) - 10

 Loop Count - 5

在运行测试时,我尝试加载我的网站(清除缓存后),但是加载页面需要的时间比平时多。浏览器缓存数据时不会出现此问题。

谁能告诉我为什么会这样?是因为当 1000 个用户加载我的网站时,它可能会崩溃或其他原因吗?

任何形式的解释都将不胜感激。

【问题讨论】:

    标签: timeout jmeter load-testing


    【解决方案1】:

    在运行 JMeter 测试时,如果您尝试加载您的网站(清除缓存后),加载时间总是比平时长。这是因为您已清除缓存,现在浏览器需要渲染页面资源再次加载您想要的页面。加载完成后,如果您在不清除缓存的情况下再次尝试加载页面,则本次加载页面所需的时间更少。浏览器不会每次都获取页面资源,而是浏览器将其保存在其缓存中。因此,当您下次尝试打开或加载该页面时,浏览器可以使用这些缓存在最短的时间内为您打开该页面。因此,当浏览器第一次加载页面时,它比稍后加载该特定页面所花费的时间更多(不清除缓存)。

    另一点是,当您尝试加载您的网站时,您的 Jmeter 测试正在运行,加载您的网站需要更长的时间。因为您的应用程序已经在处理 JMeter 发送的一些请求。所以处理额外的负载会影响在您的网站页面响应时间上。

    1000 个用户的加速时间为 10 秒!!!

    这不是最佳做法。您必须给这 1000 名用户足够的时间。 10 秒太小了,对于 1000 个用户来说,加速时间。所以在 JMeter 测试期间,很明显你的浏览器会花一个意想不到的时间来加载您的网页(使用浏览器)或最终通知 “连接超时”。这不一定意味着您的应用程序已崩溃。这仅仅是因为 JMeter 中的测试脚本设计不切实际。

    【讨论】:

      【解决方案2】:

      您能否详细说明您正在使用的网络服务器软件的类型,例如? - Apache HTTPD 2.4 / Nginx / Apache Tomcat / IIS

      以及底层操作系统? - Windows(服务器?) / Mac OS X / Linux

      如果您的网络服务器计算机不受 CPU、磁盘等的最大性能限制(检查任务管理器),您的性能可能会受到 Apache 配置的限制。

      您能否检查一下 Apache HTTPD 日志文件中的相关警告?

      根据您的配置(httpd.conf + 从那里“包含”的任何文件),您可能正在使用 mpm_winnt 工作线程,它具有可配置数量的工作线程,默认情况下为 64,根据:

      https://httpd.apache.org/docs/2.4/mod/mpm_common.html#threadsperchild

      一旦这些来自任何客户端(您的浏览器、您的负载测试等)的新请求都很忙,就必须等待轮到它们。

      试试看如果你增加线程数会发生什么!

      【讨论】:

      • Apache 和 Windows
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2020-12-05
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多