为啥只有 25 个并发用户,服务器 CPU 使用率达到 100%?
Posted
技术标签:
【中文标题】为啥只有 25 个并发用户,服务器 CPU 使用率达到 100%?【英文标题】:Why server CPU usage reaches to 100% with only 25 concurrent users?为什么只有 25 个并发用户,服务器 CPU 使用率达到 100%? 【发布时间】:2017-10-17 06:10:36 【问题描述】:我有两个输入字段没有 css 的简单 html 页面,什么都没有设计。页面大小为 134KB。在我的性能测试测试用例中,我只尝试加载 25 个并发用户同时点击的页面。我已经使用 Jmeter 和 Junit(多线程)进行了测试。当所有线程都启动时,服务器 CPU 使用率达到 100%。这是正常行为吗?或者这是一个问题?为什么会发生?我已经在同一台服务器上的另一个页面上复制了相同的场景,并且 CPU 使用率是相同的。 10 个并发用户的 CPU 使用率为 30% 到 75%。我是性能测试新手。
【问题讨论】:
使用哪个框架来提供页面?我猜是基于 java 的。 想想时间?起搏?还是尽可能快地敲击? 【参考方案1】:正常,取决于服务器 RAM/Cores,如果是简单的静态站点,请启用静态文件缓存,指定您正在使用的堆栈,以便您获得执行此操作的步骤。
【讨论】:
是的,交易时间短是正常的。 IE。生成一个 HTTP 请求需要负载生成器的一定 CPU 时间,因此在单个 CPU 内核上每秒可以生成多少个请求是有限制的。例如,如果一个 HTTP 事务需要 1 秒 - 由于网络延迟和/或服务器速度慢,您最多可以使用 25 个线程执行 25 个请求/秒。对于您的机器来说,这可能不会成为 CPU 方面的问题。但是,如果事务时间为 0.01 毫秒,则 25 个 VU 线程的理论限制为 250 万次请求/秒。 8 核可能会 100% 忙 @Ragnar 没有像有 8 个内核那样指定的位置,并且提问者告诉它是一个静态页面,因此处理服务器端的逻辑不会太多,但我仍然怀疑一些I/O 阻塞 @RamiReddy 这是页面的 Wappalyzer 详细信息。 javascript Framework => Moment.js, jQuery 3.2.1 Web Framework => Twitter Bootstrap Web Server => Apache 2.4.17 Programming Language => php 5.6.23 Operating System => Windows Server Web Server Extension => OpenSSL 1.0.2d Server机器有 8GB RAM 和 4 核 CPU 3.0 Ghz。我只是在加载页面,而不是尝试填写或提交。 你在使用 gzip 压缩吗?它大量使用 cpu 处理静态资源。 是的。我的问题是我在三个不同的网页上执行了相同的场景,这些网页使用不同的技术并托管在不同的服务器上。并且所有 3 个并发用户的 25 个并发用户的服务器 CPU 使用率达到 100%。我们已经检查了所有三个的 GTmetrix 报告并启用了缓存、gzip 等...其中之一是 laravel 应用程序的登录页面,页面上只有登录表单,没有其他元素。以上是关于为啥只有 25 个并发用户,服务器 CPU 使用率达到 100%?的主要内容,如果未能解决你的问题,请参考以下文章