时间很长;现在很短;距离很长;相遇很短
Monday September 6th 2010

继续说Apache的优化

经过了前面一段时间的探索,我们对ApacheMySql的性能调优有了个初步的认识,我本来以为问题到这里应该就解决了,但是运行了十几天后,还是出现了负载达到50+的情况。于是,网站又挂了。

分析access.log与之前并无不同,被盗链的请求还是很多,不过这些都被302重定向了啊,死活想不到办法,一度怀疑是不是因为302或者404的错误日志过多的引起的IO问题导致服务器资源紧张。

除此之外,还是有个现象引起了注意,每次挂掉的不是Apache,而是数据库。为什么盗链会引起数据库问题,这显然无法解释。

不绕圈子了,最后发现的问题,就是为了防盗链而特意写的Rewrite。原本的rewrite是这样的,对于盗链的资源,重定向到首页。

这看起来没有问题,可是瞬间请求数百次到首页,然后运行脚本,执行数据库查询……

还有一点,返回的是302,这就意味着搜索引擎和下载工具会认为资源是存在的,不会停止响应。

所以,最终的解决方案。重定向所有盗链的资源到一个静态LOGO,同时,设定返回Code为403.

整个世界清净了。

您可能有兴趣的文章:

Leave a Comment

More from category

Ubuntu 8.10 VPN 简单配置要点
Ubuntu 8.10 VPN 简单配置要点

简单明了,四步走: 使用apt 安装 VPN Server Deamon: pptpd 配置IP, 用户控制文件 配置NAT [Read More]

性能调优:MySql Server at Linux
性能调优:MySql Server at Linux

我们继续性能调优系列。 [Read More]

Linux编译PHP问题整理
Linux编译PHP问题整理

对于Linux我是个新手,更希望使用Debain的Apt的库解决。没办法用了Red [Read More]

Apache性能调优
Apache性能调优

说来不好意思,服务器的性能一直都是个大问题,访问量不大,却经常死机。 [Read More]

Interesting Sites

    Insider

    Archives