性能小谈

和一个应用性能有关的几点。

1、cpu

cpu型号决定了它的最大线程数,这对服务器很重要。

cpu在压力增加时,占用量应该呈线性增加。如果依旧平稳,则有可能是代码中产生等待,需要调整代码。

2、内存

swap就是相当于虚拟内存,在现在基本由物理内存解决,不需要设置很大。

分析gc(垃圾回收),可以判断整个jvm内存是否过小,cpu资源都用在gc上,影响对于请求的响应处理。

jvm可配置堆内存,自动划分的栈内存是堆内存的1/10,栈内存是一个方法中所能使用的最大内存,溢出则会导致严重的应用问题。

3、线程

一个jvm建议使用150个线程,这个一般在容器中配置。

对外连接,会产生实际连接,一般使用连接池,但更重要的是对于连接数的估算与调整。比如100用户使用5个oracle线程,每次sql处理占用0.05s,那每个用户平均等待可能就是1s。

4、工具

JProfiler java性能监控工具

LoadRunner 并发压力测试工具

猜你喜欢

转载自ring-feng.iteye.com/blog/1173653