性能探讨

09-11-05 wjkiss000
    

我们的项目,我简单描述一下业务。

系统负责缓存用户信息,定时任务将用户取出,到人人网获取用户相关信息。

要求是5分钟可以处理40万个用户,也就说我要去人人网做40W个HTTP请求,服务器用pc-server,8G内存,8核cpu。这样的需求可行么,切合实际么。

现在的实现采用jms+ejb mdb。

还要问一下,mdb最大可以设置多少线程数。今天设置mdb的线程池800个,系统崩溃了,cpu占用率800%。

我个人觉得5分钟轮询40W用户是不可能的。

    

banq
2009-11-06 08:34

首先对方要能承受,自己靠一台估计不太可能,你要把抓取和更新两个过程分开,需要一个分布式架构,ejb 没必要用,用普通jms 就可以了。最终结果要测试

newthinker
2009-11-06 10:51

楼主的意思是爬取别人网站的信息是吧?挺无耻的应用,不过我感兴趣的是你如何访问网页的?用htmlutil还是httpclient?或者别的什么?我觉得你最好搞一个搜索引擎去他网站上没日没夜的爬。。。。。

wjkiss000
2009-11-06 10:51

首先,40w用户是我们单台机器要求的负载数量,不可改变。

mdb消耗cpu么,要用jms api去监听队列么,会节省cpu么?

wjkiss000
2009-11-06 10:53

2009年11月06日 10:51 "newthinker"的内容
楼主的意思是爬取别人网站的信息是吧?挺无耻的应用,不过我感兴趣的是你如何访问网页的?用htmlutil还是httpclient?或者别的什么?我觉得你最好搞一个搜索引擎去他网站上没日没夜的爬。。。。。

这个不是偷取信息,我们是跟人人网有合同的,他们提供api供我们调用,获取信息。用的是httpclient

3Go 1 2 3 下一页