Ubuntu的12.4 LTS,Apache 2.2.14,MySQL + WordPress的顶部。
服务器只是通过使用Web应用程序扫描工具进行扫描才能进入严重的负载70.0 69.9 67.0,并变得无法响应。 简单的DOS从单个主机可以这么说。 如何防止这一点?
更新:
这里是我看到的顶部命令,似乎有一百万个apache2实例在运行。 我如何防止这种情况? 我如何限制可以运行多less个apache2实例?
top - 08:58:58 up 10:22, 1 user, load average: 160.39, 159.70, 158.99 Tasks: 297 total, 1 running, 296 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.9%sy, 0.0%ni, 29.0%id, 70.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 503420k total, 498456k used, 4964k free, 300k buffers Swap: 1048568k total, 1048184k used, 384k free, 5432k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9333 www-data 20 0 167m 2860 680 D 0 0.6 0:05.18 apache2 2194 mysql 20 0 455m 3160 312 S 0 0.6 1:49.67 mysqld 9294 www-data 20 0 167m 2816 420 D 0 0.6 0:05.04 apache2 9337 www-data 20 0 167m 2892 360 D 0 0.6 0:05.42 apache2 9281 www-data 20 0 186m 3372 396 D 0 0.7 0:05.96 apache2 9313 www-data 20 0 167m 3012 564 D 0 0.6 0:05.64 apache2 9327 www-data 20 0 167m 3300 412 D 0 0.7 0:04.88 apache2 9395 www-data 20 0 167m 2540 76 D 0 0.5 0:04.97 apache2 9285 www-data 20 0 167m 2636 328 D 0 0.5 0:05.39 apache2 9297 www-data 20 0 167m 2420 528 D 0 0.5 0:04.89 apache2 9408 www-data 20 0 167m 2728 64 D 0 0.5 0:04.42 apache2 82 root 20 0 0 0 0 D 0 0.0 2:57.97 kswapd0 223 root 20 0 0 0 0 S 0 0.0 0:02.46 kjournald 9470 www-data 20 0 167m 3216 652 D 0 0.6 0:02.26 apache2 9502 smmsp 20 0 65772 1068 260 D 0 0.2 0:01.62 sendmail-msp 9303 www-data 20 0 167m 2800 432 D 0 0.6 0:05.24 apache2 9352 www-data 20 0 167m 2988 492 D 0 0.6 0:04.98 apache2 9351 www-data 20 0 167m 3144 560 D 0 0.6 0:04.57 apache2 9374 www-data 20 0 167m 3304 556 D 0 0.7 0:04.79 apache2 9411 www-data 20 0 167m 2888 60 D 0 0.6 0:03.81 apache2 9136 root 20 0 19368 652 256 R 0 0.1 0:06.73 top 9289 www-data 20 0 167m 3180 608 D 0 0.6 0:05.61 apache2 9298 www-data 20 0 167m 3312 564 D 0 0.7 0:05.59 apache2
你应该检查什么任务生成这个巨大的负载在服务器上。
然后,如果您遇到任务问题:可以将其configuration为限制可能的请求数量,也可以根据请求数/ IP地址限制访问。
看起来你已经完全耗尽物理内存,并且正在交换。 您的top输出显示了近300个正在运行的进程,其中大部分是Apache工作人员。
看看这个Apache文档的configuration最大数量或Apache进程。 您将查看MaxClients,ThreadsPerChild和ServerLimit指令。