求教

08-07-30 qiullin
本人现在作一个实时性要求较高的项目,短时间内需要处理大量的消息,目前采用的是多线程处理这些消息,但是现在发现有些问题,多线程执行是乱序的,而我需要处理的消息有些需要按顺序执行(ID相同的信息),这样会对产生的结果带来无法预知的影响,不知道各位有什么好的办法处理这类事件没?

比如加线程池,单线程还是会乱序执行,不使用多线程,那如何来保证整个系统的性能?

忘赐教,不胜感激!

              

banq
2008-07-31 11:11
使用JMS 的Queue方式,性能可伸缩,可集群分布式。

qiullin
2008-09-02 15:46
非常感谢banq的回复!

现在系统又遇到一个问题了,内存泄露,问题比较严重.

系统运行一段时间后内存不断减低,基本上一天1个百分点的下降,而且现在用户量并不太多,一天也就几百个而已.用JProfiler监测了下,发现用户操作时GC的频率比较高,基本上是连续不断的在处理.而且,从任务管理器看到当用户操作时内存占用不断攀升,并且系统流量为0时,内存也不下降,当下次用户操作时候内存继续攀升,基本上10天就要重启服务,而且有意思的是,重启服务也不能释放多少内存,必须重启服务器,这样可以彻底释放内存.自查了下代码,基本上缓存啊什么的都有释放清除,而且还要定时器清除.现在不知道该如何查下去了,希望赐教!!!

不胜感激!!!

banq
2008-09-02 19:50
用JProfiler监测内存最大增长来自哪几个类,可以差错的,如果是自己应用程序,那肯定存在内存泄漏。

qiullin
2008-09-03 10:29
监控了几天了,以下是些图片:

1.堆使用情况:


猜你喜欢
3Go 1 2 3 下一页