记一次 java程序优化
来源:互联网 发布:sql 字段中包含字符 编辑:程序博客网 时间:2024/06/15 06:37
优化原因
环境中部署两个程序:
- web应用 tomcat 10G(webservice服务端,前端web服务)
- java应用 5G(webservice客户端,socket客户端)
之前的设计思路是打算web应用作为前端不做业务处理,后端使用webservice做能力接入。
1天能力处理量大概在150W次到两百万次左右:
- 并发数量web端口在12tps
- 应用端在20tps左右(能力聚合的时候可能会调用几个能力做聚合操作)。
jvm优化
之前的应用服务的启动参数
-Xss1024k -Xms1g -Xmx3g -Xmn2g -XX:PermSize=64m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+UseParallelGC优化后:
-server -Xss1024k -Xms3g -Xmx3g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+UseParNewGC -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection
- 将jvm设置为server模式(如下默认值为server也可不设)
[linkage@zhczint1 ~]$ java -versionjava version "1.6.0_33"Java(TM) SE Runtime Environment (build 1.6.0_33-b04)Java HotSpot(TM) 64-Bit <strong>Server</strong> VM (build 20.8-b03, mixed mode)
- 将Xms与Xmx,XX:MaxPermSize与XX:PermSize设置为相同,防止在伸缩的时候性能降低
- 将原有年轻态并行收集器,年老太串行收集器设置(默认) 修改为 年轻态并行收集器,年老态并发收集器。
修改完后,性能稳定了不少,同时对web服务器进行了jvm参数的相应优化
linux参数优化
查看打开文件限制 (调优socket情况)
more /etc/security/limits.conf
#<domain> <type> <item> <value>#* soft nofile <strong>65535</strong>* hard nofile <strong>65535</strong>#* soft core 0#* hard rss 10000#@student hard nproc 20查看网络连接情况
[linkage@zhczweb1 ~]$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 132FIN_WAIT2 23ESTABLISHED 79SYN_RECV 30设置连接情况
~[linkage@zhczweb1 ~]$ vi /etc/sysctl.conf net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 30<span style="font-size: 1em; line-height: 1.5;">[linkage@zhczweb1 ~]$ </span>/etc/rc.d/init.d/network restart
参考:
java server与client模式区别
http://developer.51cto.com/art/201009/228035.htm
jvm参数优化
http://pengjiaheng.iteye.com/blog/518623
网络连接设置
http://blog.163.com/helj_2001/blog/static/346345682009728111725235/
0 0
- 记一次 java程序优化
- 记一次程序优化记录
- 记录一次java优化过程
- 记一次代码优化
- java多久执行一次程序
- 记一次JAVA程序的性能调优
- 记一次java程序CPU占用过高问题排查
- 记一次代码优化过程
- 记一次mysql的优化
- 记一次MySQL查询优化
- 记一次wordpress性能优化
- 记一次oracle 优化过程
- 记一次sql优化过程
- 记一次SQL查询优化
- 记同事 一次sql优化
- 记一次慢查询优化
- 记一次程序优化---sql数据大,表关联过多,但结果仅需要前几条数据
- Java性能优化:程序优化
- C# 简单的方法与属性的继承
- 解决WCF调用时出现错误:“创建MTOM消息读取器时出错”
- heritrix 3.2.0 下载
- 整合Struts/Hibernate
- EL表达式处理转义符
- 记一次 java程序优化
- NSDictionary的基本操作
- heritrix 3.2.0 -- 环境搭建
- 手动安装Windows服务
- hadoop 1.2.1 安装步骤 伪分布式
- C++中的类静态成员及静态成员函数
- Java 运行时监控,第 1 部分: Java 系统运行时性能和可用性监控
- ORACLE+SQL性能优化
- Secure Network (ssh端口映射)-----图详细可以使用