我非常需要帮助。 我的网站现在几乎不可能使用,因为我的服务器负载很大。 我已经晚了一个月的抵押贷款,这真的没有帮助我的情况。 我一直在努力解决这个间歇性负载问题几个月(从来没有这么糟糕)。
由于我在DDOS攻击下,我怀疑是某种攻击! 我一直在想弄清楚是什么导致了负载,但我恐怕只是没有经验或知识去理解我一直在看的所有数据。 我甚至不知道从哪里开始或如何testing大量的攻击。
这里有一些你可能会觉得有用的数据
服务器:Xeon X3220四核2.4 GHz – Linux,FreeBSD 500 GB HD和8 Gig Ram。 运行Centos版本5.7服务器版本:Apache / 2.2.21(Unix)mod_ssl / 2.2.21 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 mod_qos / 9.74
警告:所有的网站都是中等成年人的网站 – 主要是像精灵和亚马逊的幻想艺术。
1)网站可能会运行良好的几个星期或只有几天不到10负载,然后开始跳到40-80负载 – 不知道为什么。 相同的网站,相同的MODS,相同的stream量 – 只是WHAM!
2)几乎每天都会收到一封电子邮件,内容是:“来自IP的失败login尝试次数(每次都不一样)”。 我的networking主机(几乎从来没有帮助过我)告诉我这是一个udp洪水或什么的。
3)我已经改变了默认的MySQL的端口。 如果我把它恢复到默认值 – 我得到超过100的负载必须是一个恒定的MySQL端口洪水。
4)我重新configurationMYSQL。 链接: http : //www.deadlyamazons.com/logs/mycnf.txt
5)我有3个Joomla Jomsocialnetworking。 我花了几个星期把所有的mod /插件closures,等待一天,然后在第二天或之后将它们重新打开,如果没有任何改变(还没有)。 例如,星期四我会closuresvideo,星期五我会closures聊天..等,没有什么改变负载略微。
6)Joomla信息:所有SEFclosures – sh404sef完全禁用和删除。 组件:Joomla 1.5.22,Jomsocial 2.0.5,Kunena 2011年1月31日,HWDMediashare 11/22/2010和JBolo聊天2.7.3,彗星聊天或Envolve聊天。 页面压缩处于打开状态,caching在15分钟内。
请点击此论坛查看我所有报告的链接: http : //forum.joomla.org/viewtopic.php?f=433&t=706035&p=2777500#p2777500
4/9/12 – 增加了这个部分:
嗨,大家好,我回来了一些关于我可怜的服务器的更多信息。 目前服务器正在徘徊,平均在30到60之间。
我将增加一个激励来解决我的问题:100美元通过贝宝的答案解决了“负载”的问题,而没有购买一个或多个额外的服务器的build议。 同样,这些网站在更低功率的服务器上运行更高的stream量也能正常工作。
我只是重新编译apache 2.22添加eaccelerator和zend优化器 – 没有改变。 另一个我包括的模块是QOS,它将连接的数量保持在较低的水平。 我已经有QOS工作一段时间了。
build议和要求:
是的,我确实closures了MySQL的端口,我应该提到这一点。
stream量统计:
3月带宽:579.19G
KBytes 2012年3月:3,194,134,948 | 2011年12月:3,504,864,832
访问2012年3月:920,619 | 2011年12月:727,843
Pages Mar 2012:10,231,430 | 2011年12月:10,830,700
文件2012年3月:89,218,232 | 2011年12月:102,862,958
点击三月2012:106,515,577 | 2011年12月:120,884,007
Top-C在高负载下的video:这里是当服务器运行在30到40个负载之间时,我采用的2'顶部-c的AVI。
下载1.5分钟/ 30M片段: http : //www.mediafire.com/? yk3b5xota7l7s30
下载30秒/ 10M剪辑: http : //www.mediafire.com/?4c2t37i8gmd189w
高负载时MySQL Processlist的video当服务器在60-30负载之间运行时,以下是CPanel内部的“显示进程列表”的AVI。
下载2分钟/ 40M剪辑: http : //www.mediafire.com/? ymmfe8599bx11ho
下载30秒/ 10M剪辑: http : //www.mediafire.com/?e675p3p1f0l65jt
DStat统计:4连续采取Sceeencaps …链接:
http://www.deadlyamazons.com/logs/dstat01.jpg
http://www.deadlyamazons.com/logs/dstat02.jpg
http://www.deadlyamazons.com/logs/dstat03.jpg
http://www.deadlyamazons.com/logs/dstat04.jpg
Joomla Board上的统计数据在之前看不到:
netstat -alntp | grep:80 | wc -l(1586)
netstat -n | grep:80 | grep SYN | wc -l(30)
netstat -anp | grep .tcp \ | udp。 | awk'{print $ 5}'| 切-d:-f1 | sorting| uniq -c | sorting-n(无)
netstat -alntp | awk'{print $ 5}'| 切-d:-f1 | sorting| uniq -c | sorting-n – 报告: http : //www.deadlyamazons.com/logs/netstat_alntp_awk_print_5_2.txt
netstat -alntp | grep:80 – http://www.deadlyamazons.com/logs/netstat_alntp_grep_80_2.txt
顶部(命令行) http://www.deadlyamazons.com/logs/top01_cli.jpg顶部2(命令行) http://www.deadlyamazons.com/logs/top02_cli.jpg顶部(WHM) http:// www .deadlyamazons.com / logs / top01_whm.jpg Top 2(WHM) http://www.deadlyamazons.com/logs/top02_whm.jpg IOStat(命令行) http://www.deadlyamazons.com/logs/iostat.jpg每日进程日志(WHM) http://www.deadlyamazons.com/logs/daily_process_log.jpg进程跟踪MYSQL(txt)(巨大!) http://www.deadlyamazons.com/logs/trace_mysql.txt进程跟踪MYSQL rtf) http://www.deadlyamazons.com/logs/trace_mysql.rtf进程跟踪sxyamzn(txt) http://www.deadlyamazons.com/logs/sexyamazonscom_indexphp.txt进程跟踪sxyamzn(rtf) http:// www。 deadlyamazons.com/logs/sexyamazonscom_indexphp.rtf过程跟踪sleepp(txt) http://www.deadlyamazons.com/logs/sleeppeepscom_indexphp.txt过程跟踪sleepp(rtf) http://www.deadlyamazons.com/logs/sleeppeepscom_indexphp。 RTF
任何帮助,将不胜感激。
这是我看到的第一个错误。 尽量避免在同一台服务器上安装MySQL和Apache。 这是为什么。
根据您提供的configuration,我将其用于MySQL使用计算器
Session variables max_allowed_packet 4.0 MB sort_buffer_size 3.0 MB net_buffer_length 16.0 KB thread_stack 192.0 KB read_rnd_buffer_size 8.0 MB read_buffer_size 2.0 MB join_buffer_size 96.0 MB Total (per session)113.2 MB Global variables innodb_log_buffer_size 1.0 MB query_cache_size 96.0 MB innodb_buffer_pool_size 1.0 MB innodb_additional_mem_pool_size 1.0 MB key_buffer_size 384.0 MB Total 483.0 MB Total memory needed (for 300 connections): 33.6GB
你有8GB。 所以..你会很快变得相当swappy。 你的服务器将用完所有的可用RAM与MySQL,因为你已经告诉它。 其他一切都将进入交换空间。 在磁盘上。 慢。 IOWait将通过屋顶,导致需要磁盘访问的进程等待它。 这意味着进程将被阻止。 这意味着平均负载也将大幅上升。
Joomla,它的标准,未经修改的forms是有点讨厌的。 你在这台服务器上有多less个网站? 这可能是它不能应付。 数据库和Web应用程序之间是否有像Memcached这样的图层? (这可能需要更多的RAM)。 Coppermine也是一个CPU的妓女。 一个简单的图库加载需要很多周期(或者,上次我使用它)。
build议:
除了Tom的回答,php也可能有问题,它会产生令人难以置信的负载量。 有时在Joomla中,罪魁祸首是插件。 检查你是否安装了新的插件,并使用debugging模式来查看是否有问题。 他们造成负载的主要原因是因为他们查询您的数据库了很多。 所以请按照Tom O'Connor的build议,调整你的数据库。
也看看eAccelerator的PHP。 它caching你的页面,所以提供服务变得更快。 这意味着更多的内存使用情况。
严重的是,运行一个防火墙,如果不需要从外部访问,那么closures它(丢弃不拒绝)。
你可以尝试(而且我不是很有希望的结果)来运行OSSEC来阻止暴力破解。 我使用它 ,它工作得很好。 如果他们正在进行TCP同步或UDP洪水攻击,则唯一可以做的事情是请求ISP在到达您之前将stream量丢弃。