性能探讨
系统负责缓存用户信息,定时任务将用户取出,到人人网获取用户相关信息。
要求是5分钟可以处理40万个用户,也就说我要去人人网做40W个HTTP请求,服务器用pc-server,8G内存,8核cpu。这样的需求可行么,切合实际么。
现在的实现采用jms+ejb mdb。
还要问一下,mdb最大可以设置多少线程数。今天设置mdb的线程池800个,系统崩溃了,cpu占用率800%。
我个人觉得5分钟轮询40W用户是不可能的。
这个不是偷取信息,我们是跟人人网有合同的,他们提供api供我们调用,获取信息。用的是httpclient
你的意思是,抓取信息后交由另一个系统去做下一步业务。也是采用jms通信是吧
如果你只能单台,JMS还会降低性能,单台就用并发模式,将访问和处理使用两种线程来实现,并行处理。不要有JMS那种Queue类型,单台反而限制性能。
|
这个客户端类,我是给缓存起来的。
[该贴被wjkiss000于2009-11-13 11:22修改过]
[该贴被wjkiss000于2009-11-13 11:23修改过]