spring+acegi+proxool性能问题

以上是我系统的各个项目的配置,今天做了一个压力测试,形势不容乐观啊,用loadrunner测试500加集合只通过了60多,而且我测试的页面仅仅是一个简单的登陆页面。

然后我又单独测试了proxool连接池配置的参数:
1、刚开始最大连接数是20,初始连接数6。500虚拟用户加集合测试,结果多数因为获取不到连接而拒绝。
2、我又把配置参数该成最大连接数100。初始连接数20,500加集合的虚拟用户基本都通过,但是连接池中的可用连接数上升到了40多,我起初想可能是500连接数比较多,所以连接池多生成了一些连接供客户端使用。
3、接着我又重新加集合500测试,这次本想着proxool的可用连接应该足够了吧,可是结果500用户虽然都通过,但是可用连接数上升到了60多。依次我每次用500集合访问,虽然都通过,但是可用连接数多多少少会上升。
问题一:我不知道以上情况这是否是正常,大家一般配置连接池的时候参数是怎么设置的那?
问题二:spring+acegi+proxool这种情况,大家有没有进行过压力测试,情况是怎么样的?还是spring框架的系统组合在压力测试的情况下本身表现就不十分出色?

你可能需要对Pool模型需要有一个了解,什么是最大数,什么是可用数,你现在500并发用户数,当然要设置Pool最大数超过500,可用连接是Pool自身得机制,你不用太关系。

谢谢banq大哥,连接池的问题基本解决了,可是还有个问题就是acegi的效率,spring中配置acegi之后用loadrunner测试,似乎性能影响很大,
我限定了拦截范围的,现在主要是拦截.do的一些操作,并发了100人没有事,可并发200人就会出现java.lang.outofmemory。我把resion的cache设置成了100M还是会出现OutOfMemory,个人感觉加上acegi拦截器之后对系统性能的影响好像很大啊!

AOP对性能是有影响,可以换Spring 2.0试验看看,它是用静态weaving的,使用特殊的javac编译器编译。

并发100人也可以了,关键是100人运行时间有多长,按照你这个现象,好像存在内存泄漏等问题。

用loadrunner测试差不多是30-40s.
是啊,我也估计是内存泄漏,但是acegi配置基本上都是xml组装的一个过程,基本没有自己写java代码啊。
还有就是运行的时候,我在任务管理器看内存使用量基本是比较平稳,OutOfMemory是resin服务器报出来的,然后resin就会重启