我的 CentOS 网络节点(LAMP 堆栈)的 CPU 使用率高,但内存使用率低。几乎所有的进程都是apache。我知道我可以添加额外的 web 节点,直到我的 cpu 使用变得合理,但我想这里有一些快速调整技巧可能会有很长的路要走。
CPU 在 90-100% 之间反弹。Mysql 在 5% 到 45% 之间反弹。Apache 弥补了其余部分。
最佳:
top - 21:15:49 up 46 days, 20:39, 4 users, load average: 34.17, 44.62, 51.03
Tasks: 133 total, 32 running, 101 sleeping, 0 stopped, 0 zombie
Cpu(s): 90.4%us, 9.6%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st
Mem: 8388608k total, 6116448k used, 2272160k free, 84160k buffers
Swap: 16777208k total, 68k used, 16777140k free, 3488044k cached
PID USER PR NI VIRT RES SHR …Run Code Online (Sandbox Code Playgroud) 我的一台 Web 服务器响应非常缓慢。即使是简单的unix命令。你能帮我指出正确的调试方向吗?
这是一个疯狂的例子:
# cat /dev/null
Run Code Online (Sandbox Code Playgroud)
此命令(打印空白文件)需要将近 5 秒才能到达下一个提示。类似的经历ls。
这是顶部的顶部:
top - 00:32:30 up 6:27, 4 users, load average: 31.94, 26.82, 29.84
Tasks: 134 total, 16 running, 118 sleeping, 0 stopped, 0 zombie
Cpu(s): 91.6%us, 7.0%sy, 0.0%ni, 0.1%id, 0.0%wa, 0.0%hi, 0.3%si, 1.0%st
Mem: 8388608k total, 4243908k used, 4144700k free, 66700k buffers
Swap: 16777208k total, 0k used, 16777208k free, 779636k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13068 mysql 15 0 1693m …Run Code Online (Sandbox Code Playgroud) Apache 线程堆积在我的一台 Web 服务器上(300-500 个并发请求,有些需要 3-8 秒来处理!),但 CPU 使用率非常低(约 10%)。因此,页面加载时间正在减慢。我有足够的空闲 CPU 功率。我怎样才能使用更多的它来更快地处理这些线程?
这是顶部的顶部......
Tasks: 469 total, 1 running, 468 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.1% us, 1.7% sy, 0.0% ni, 90.3% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 9181012k total, 7998772k used, 1182240k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11351 apache 15 0 364m 30m 17m S 11.9 0.3 0:00.73 …Run Code Online (Sandbox Code Playgroud) apache-2.2 ×3
performance ×3
centos ×2
httpd ×1
httpd.conf ×1
linux ×1
memory ×1
php ×1
unix ×1