CentOS Webノード(LAMPスタック)で、CPU使用率が高く、メモリ使用率が低くなっています。ほぼすべてのプロセスがApacheです。私のCPU使用率が合理的になるまで、追加のWebノードを追加できることはわかっていますが、ここで長い道のりを歩むことができるいくつかのクイックチューニングのヒントがあると思います。
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 S %CPU %MEM TIME+ COMMAND
15775 mysql 15 0 827m 153m 3712 S 43.7 1.9 0:55.04 mysqld
15911 apache 16 0 275m 10m 3872 S 24.1 0.1 0:03.15 httpd
15816 apache 16 0 288m 23m 4116 R 23.5 0.3 0:11.88 httpd
15807 apache 15 0 281m 17m 5028 S 21.5 0.2 0:11.71 httpd
15897 apache 16 0 277m 13m 4104 S 21.2 0.2 0:02.68 httpd
15834 apache 16 0 276m 11m 3916 S 20.6 0.1 0:05.22 httpd
15842 apache 16 0 275m 11m 4116 S 19.3 0.1 0:07.86 httpd
15870 apache 16 0 294m 30m 5044 R 17.4 0.4 0:06.36 httpd
15782 apache 15 0 278m 13m 4124 R 12.2 0.2 0:08.54 httpd
15819 apache 15 0 280m 17m 5016 S 11.6 0.2 0:07.01 httpd
15683 apache 16 0 288m 23m 4128 R 10.9 0.3 0:09.90 httpd
15876 apache 16 0 284m 19m 3880 R 10.6 0.2 0:04.35 httpd
15878 apache 15 0 276m 11m 4104 S 10.6 0.1 0:06.42 httpd
15913 apache 16 0 275m 10m 3920 R 9.6 0.1 0:07.98 httpd
15898 apache 16 0 280m 16m 4104 S 9.3 0.2 0:02.85 httpd
15817 apache 16 0 277m 13m 4108 S 9.0 0.2 0:05.55 httpd
15843 apache 16 0 280m 15m 4104 R 8.7 0.2 0:10.80 httpd
15812 apache 16 0 280m 16m 5012 R 8.0 0.2 0:05.18 httpd
15844 apache 16 0 281m 16m 4116 R 7.4 0.2 0:08.63 httpd
15833 apache 16 0 281m 18m 5036 R 7.1 0.2 0:04.76 httpd
15795 apache 16 0 280m 15m 3920 R 6.8 0.2 0:08.65 httpd
15704 apache 15 0 280m 16m 4096 S 6.4 0.2 0:09.06 httpd
15849 apache 16 0 280m 15m 4124 R 6.4 0.2 0:05.59 httpd
15806 apache 16 0 276m 11m 3876 S 6.1 0.1 0:10.33 httpd
15902 apache 16 0 280m 15m 3912 R 6.1 0.2 0:03.40 httpd
15688 apache 16 0 279m 14m 4116 R 5.8 0.2 0:06.07 httpd
15904 apache 16 0 280m 15m 3860 R 5.8 0.2 0:02.74 httpd
15703 apache 16 0 281m 17m 5048 R 5.1 0.2 0:03.86 httpd
15705 apache 16 0 281m 17m 5044 R 4.5 0.2 0:13.54 httpd
15821 apache 15 0 276m 11m 4072 S 4.5 0.1 0:04.24 httpd
15830 apache 16 0 278m 13m 4112 R 4.2 0.2 0:06.37 httpd
15850 apache 16 0 277m 12m 3872 R 3.9 0.2 0:04.64 httpd
15912 apache 15 0 276m 11m 3920 S 3.9 0.1 0:05.58 httpd
15804 apache 15 0 280m 15m 3932 R 3.5 0.2 0:09.13 httpd
15805 apache 16 0 281m 15m 3932 R 3.5 0.2 0:09.00 httpd
15899 apache 16 0 277m 12m 4104 R 2.6 0.2 0:03.26 httpd
15701 apache 16 0 277m 12m 3920 R 2.3 0.2 0:08.35 httpd
15781 apache 15 0 274m 9.8m 3924 S 1.9 0.1 0:10.48 httpd
15848 apache 15 0 276m 11m 3876 S 1.9 0.1 0:06.63 httpd
15901 apache 15 0 275m 10m 3916 S 1.9 0.1 0:02.18 httpd
15879 apache 16 0 280m 16m 4104 R 1.3 0.2 0:02.03 httpd
15820 apache 16 0 281m 17m 5260 R 1.0 0.2 0:05.24 httpd
関連するhttpd.conf:
Timeout 120
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
あなたのアプリケーションは何ですか?PHP?APCのようなopcodeキャッシュを使用していますか?
—
HTTP500
はい、PHP。memcacheとapcがありますが、現在どちらも使用していません。ノードの再起動時に失われないように、別のmemcacheサーバーを構築しています。
—
ライアン、
ApacheプロセスがMySQLからの応答を待って蓄積している可能性があります。MySQLのmy.confを投稿してもよろしいですか?また、MySQLで構成された遅いログはありますか?それらがある場合、それらはあなたに何を伝えますか?
—
和基。
prefork
またはで作業しworker
ますか?そして、あなたは新しいリリース、コードの変更、サーバーの更新などの後にこのような問題に直面していますか?