现在论坛速度果然很快了

性能提升无止境啊!

现在面临的一个最大问题就是抓贴程序。

有的用户使用专门程序抓取本论坛所有的帖子,如下

218.24.21.183 - - [14/Oct/2003:09:38:49 8000] "GET /jive/thread.jsp?forum=16&thread=9985 HTTP/1.1" 200 30715
210.82.166.194 - - [14/Oct/2003:09:38:52 8000] "GET /jive/forum.jsp?forum=91 HTTP/1.1" 200 30400
218.94.61.71 - - [14/Oct/2003:09:38:52 8000] "GET /jive/article.jsp?forum=16&thread=6380 HTTP/1.1" 200 41657
218.94.61.71 - - [14/Oct/2003:09:38:56 8000] "GET /jive/article.jsp?forum=91&thread=6154 HTTP/1.1" 200 49291
210.82.166.194 - - [14/Oct/2003:09:38:56 8000] "GET /jive/forum.jsp?forum=136 HTTP/1.1" 200 28305
218.94.61.71 - - [14/Oct/2003:09:38:59 8000] "GET /jive/article.jsp?forum=91&thread=5825 HTTP/1.1" 200 55699
210.82.166.194 - - [14/Oct/2003:09:39:02 8000] "GET /jive/forum.jsp?forum=62 HTTP/1.1" 200 31035
218.94.61.71 - - [14/Oct/2003:09:39:05 8000] "GET /jive/article.jsp?forum=16&thread=6074 HTTP/1.1" 200 39990
218.94.61.71 - - [14/Oct/2003:09:39:05 8000] "GET /jive/article.jsp?forum=16&thread=6168 HTTP/1.1" 200 54340

很明显 218.94.61.71是使用程序自动在抓取本论坛。

下一步是坚决打击这种自私的行为!

请大家使用http://www.jdon.com/jive
而不是http://www.jdon.com:81/jive来访问本论坛。

log太少,还不能这么简单下结论。不过banq,我推荐一个办法来解决这个问题。

对付这种情况的办法就是你在apache里面限制每IP并发连接到web server的数量。例如限制为每IP只能有5个并发连接,这样更多的连接就会被apache出错返回。

可以通过给apache安装 limitipconn模块达到这个目的,网络上很多帖子,搜一下就找到了。目前我们也做了类似的限制,避免一个IP进行过多的连接。不过也不能限制的太小,例如只限制为每IP1个连接,那么会影响正常的使用者,当他们想一下打开好几个页面的时候就会报错。

另外我现在也使用该方法来限制http的多线程下载

谢谢robbin

这东西不错,只是和我的apache 1.3配合有点问题,apache认为这个DSO有问题。

另外,由于我使用mode_jk拦截jsp调用,不知apache这样的设置,对于被拦截的jsp页面是否管用?

banq,你限制每IP一个并发连接太少了,我同时打开两个页面都不行,建议多一点,例如5个,方便大家同时打开多个窗口。

另外可以做一个页面解释出错原因,然后用指令ErrorDocument 503 /.../error503.html配置一下,这样如果有人同时打开多窗口超出限制,给他一个提示,这样比较人性化一点,呵呵。

好建议,我目前限制最大是两个。