做过性能优化的大神帮忙看看

xhmlwaf 2016-05-13 12:05:05
现在有一个servlet应用。并发量要做到1w每秒。因为机器有限,即使做集群也需要单个应用能处理
1500到2000左右一秒的并发。
目前使用了tomcat,数据库采用了异步批量处理,所以不考虑数据库处理的时间。收到请求到返回响应耗时 大概1ms。

tomcat配置
-->
<Connector port="8003" maxThreads="1000" minSpareThreads="500" maxSpareThreads="300" acceptCount="1000"
connectionTimeout="20000" enableLookups="false"
redirectPort="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"/>

目前超过300请求就会开始出现超时,有没大神能给出方案。
系统linux,机器双核 16G内存的。
jetty 或者 jboss 等方案都可以考虑,但实在不知道它们在并发性能上有多大优势。 可能我tomcat的配置也有问题,辛苦大家指出。
辛苦大家帮忙看看。
...全文
1384 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
skgary 2016-08-11
  • 打赏
  • 举报
回复
引用 楼主 xhmlwaf 的回复:
现在有一个servlet应用。并发量要做到1w每秒。因为机器有限,即使做集群也需要单个应用能处理 1500到2000左右一秒的并发。 目前使用了tomcat,数据库采用了异步批量处理,所以不考虑数据库处理的时间。收到请求到返回响应耗时 大概1ms。 tomcat配置 --> <Connector port="8003" maxThreads="1000" minSpareThreads="500" maxSpareThreads="300" acceptCount="1000" connectionTimeout="20000" enableLookups="false" redirectPort="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"/> 目前超过300请求就会开始出现超时,有没大神能给出方案。 系统linux,机器双核 16G内存的。 jetty 或者 jboss 等方案都可以考虑,但实在不知道它们在并发性能上有多大优势。 可能我tomcat的配置也有问题,辛苦大家指出。 辛苦大家帮忙看看。
关键是,你整个应用的瓶颈在哪里呢? 数据库?还是磁盘的 io,还是CPU呢? 找到了瓶颈所在,才能对症下药。
tb_bin 2016-07-29
  • 打赏
  • 举报
回复
cpu 如果性能跟得上 . 可考虑两台tomcat , 做集群 或者使用nginx 做负载 . 推荐nginx做负载 ...
tb_bin 2016-07-29
  • 打赏
  • 举报
回复
catalina.sh 最上边写上如下内容 , tomcat8 忽略 -XX:PermSize=256M -XX:MaxPermSize=1024M 其他的可酌情优化下 export JAVA_OPTS="-server -Xms2048M -Xmx2048M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=256M -XX:MaxPermSize=1024M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCM SCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"
Baggio_Wang 2016-07-26
  • 打赏
  • 举报
回复
请问楼主是如何测试并发量的?是软件测试还是实际用户测试的?
kky2010_110 2016-07-25
  • 打赏
  • 举报
回复
tomcat 是怎么优化的,请指教
  • 打赏
  • 举报
回复
测试机和线上机不是一台服务器,压测是没有意义的。我想到的说下 1、优化tomcat配置 2、nginx做负载均衡 3、涉及数据库的话,还得从数据库方面优化 4、各种缓存,页面、nginx、数据库等等缓存 5、动态资源和静态资源分离,没有CDN经费的话,用一台机+nginx模拟CDN
xhmlwaf 2016-05-20
  • 打赏
  • 举报
回复
引用 1 楼 autfish 的回复:
默认配置也不至于300请求就超时 边跑压力边用top,jstat,visualvm等工具看服务器状态和虚拟机状态,确定问题
我测试机器和服务器不是一台机器,是网络原因导致的。
xhmlwaf 2016-05-20
  • 打赏
  • 举报
回复
优化了一下tomcat的配置,在本机发请求,并发量稳定在6000左右了。
大雨将至 2016-05-13
  • 打赏
  • 举报
回复
默认配置也不至于300请求就超时 边跑压力边用top,jstat,visualvm等工具看服务器状态和虚拟机状态,确定问题

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧