`
xiamizy
  • 浏览: 86185 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
78437efc-ad8e-387c-847f-a092d52e81a6
spring framew...
浏览量:4768
社区版块
存档分类
最新评论

记一次 java程序优化

阅读更多

优化原因

环境中部署两个程序:

  1. web应用 tomcat   10G(webservice服务端,前端web服务)
  2. 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 -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server 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  65535
*       hard    nofile  65535
#*               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 132
FIN_WAIT2 23
ESTABLISHED 79
SYN_RECV 30
 设置连接情况
~
[linkage@zhczweb1 ~]$ vi /etc/sysctl.conf 

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

[linkage@zhczweb1 ~]$  /etc/rc.d/init.d/network restart 
 
参考:
java server与client模式区别
  • 大小: 23 KB
分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    JAVA上百实例源码以及开源项目源代码

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    java程序做猜数字游戏

    java程序做猜数字游戏 这个游戏会随机生成一个1到100之间的整数,然后要求用户输入他们猜测的数字。如果用户猜对了,程序会告诉他们他们猜对了,并告诉他们他们猜了多少次。如果用户猜错了,程序会告诉他们他们猜的...

    用Java实现基础数据结构,排序算法、经典算法以及leetcode刷题记录.zip

    它的设计目标是“一次编写,到处运行(Write Once, Run Anywhere)”,这意味着开发者可以使用Java编写应用程序,并在支持Java的任何平台上无需重新编译即可运行,这得益于其独特的跨平台性,通过Java虚拟机(JVM)...

    记录各种学习笔记(算法、Java、数据库、并发......).zip

    它的设计目标是“一次编写,到处运行(Write Once, Run Anywhere)”,这意味着开发者可以使用Java编写应用程序,并在支持Java的任何平台上无需重新编译即可运行,这得益于其独特的跨平台性,通过Java虚拟机(JVM)...

    [Java毕业设计]微信小程序-实习记录小程序+ssm+论文(附程序源码).rar

    本项目是一个基于微信小程序的实习记录小程序,采用SSM(Spring、SpringMVC、MyBatis)框架进行开发,旨在帮助实习生更好地记录和管理实习经历。项目涵盖了实习申请、实习日志、实习报告等多个功能模块,以满足实习...

    java 面试题 总结

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    Java面试宝典-经典

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    Java面试宝典2010版

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    [Java毕业设计]微信小程序-基于移动平台的远程在线诊疗系统+ssm+论文(附程序源码).rar

    本项目为一款基于移动平台的远程在线诊疗系统,采用Java语言开发,结合Spring、SpringMVC和MyBatis三大框架,构建了一个稳定、高效、易扩展的Web应用。系统以微信小程序为载体,为用户提供便捷的移动端医疗服务。 ...

    java面试题大全(2012版)

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    JAVA医药管理系统设计(论文+源代码).rar

    该系统不仅优化了药品管理流程,提升了工作效率,同时也保障了药品流通的安全性与准确性。该源码文件包包含了完整的项目文档和源代码,适合作为计算机科学与技术专业学生的毕业设计或课程设计项目。文件包含详细的...

    [Java毕业设计]微信小程序-儿童预防接种预约微信小程序+springboot+论文(附程序源码).rar

    本项目为一款基于微信小程序的儿童预防接种预约系统,结合Spring Boot后端技术,实现了一个完整、易用的预约平台。项目涵盖了用户注册登录、疫苗查询、预约接种、接种记录查看等功能,旨在提高疫苗接种率,降低接种...

    计算机毕业设计:Java实现的小型诊所信息管理系统(SpringBoot框架,源码+说明),保证可靠运行,赠计算机答辩PPT模版

    源码中包含了关键的技术实现和编程技巧,对于学习者来说,这是一次难得的实践和学习机会,能够帮助他们更好地掌握Java编程和SpringBoot框架的应用。 此外,我们还附带了详细的系统说明文档,对系统的功能、操作流程...

    最新Java面试宝典pdf版

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    java面试宝典2012

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 90 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 91 4、...

Global site tag (gtag.js) - Google Analytics