为什么tomcat集群没有单一tomcat吞吐量大?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

为什么tomcat集群没有单一tomcat吞吐量大?

落地花开啦 2016-06-02 17:21:59 3207

环境:
jdk8+mysql5.5+redis3.0.5
项目是spring+mybatis框架,使用shiro+redis做的集群session处理,
使用nginx1.8+tomcat7做的集群,jmeter进行的测试,
redis和nginx在ubuntu虚拟机中,mysql和tomcat在win10下。
cpu4770k,16g内存。
测试页面:登录页(get),登录操作(post,此操作只涉及到select from user where username=#{username}这一条sql,且user表只有1条数据),获取用户信息(get,此操作只涉及select from user一条sql)
mysql:
`max_connections=1000
table_cache=4096
open-files-limit = 8192`
连接池:
jdbc.pool.maxIdle=250 jdbc.pool.maxActive=500 redis.pool.maxTotal=500 redis.pool.maxIdle=10
jmeter:线程数500,循环次数3

  1. 单一tomcat测试结果
  2. 两个tomcat组成的集群结果
    redis部分的查询我输出了一下时间,在几十ms范围内,不影响效率,

问题主要在mysql上,单一tomcat时,select * from user大约时间在10ms以内,tomcat集群时,这条sql的时间就变成了100-200ms甚至更多,请问各位大神这是哪里的问题?
为什么2个tomcat的集群吞吐量没有1个tomcat高呢?希望有高手来解惑

SQL NoSQL Ubuntu 关系型数据库 MySQL 应用服务中间件 Redis nginx
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:25:22

    首先你得明白什么叫吞吐量,吞吐量一般指有效执行时间/总执行时间。一台机器的资源是有限的,你开个虚拟机本身就要消耗很大资源,且开多个Tomcat CPU的调度时间增加,有效执行时间减少,所以吞吐量降低,这个跟你单个mysql没有关系!

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题