Tomcat上的平均最大并发用户数

Tomcat上的平均最大并发用户数,tomcat,testing,jmeter,stress-testing,Tomcat,Testing,Jmeter,Stress Testing,我正在使用JMeter在web应用程序上进行压力测试(使用Spring、Struts2 REST和PostgreSQL构建) 我正在用我的应用程序模拟典型用户的场景: 4个GET、3个INSERT、20个更新呼叫 服务器规格: 4芯英特尔至强X5365 3GHz 8GB内存 单个320GB SATA磁盘 操作系统:Ubuntu 8.10 32位 DB:Postgresql 8.4 Tomcat 6.0.18 Java 1.6.0_14 结果显示,服务器将处理大约130个并发事务。这个号码可能吗?

我正在使用
JMeter
在web应用程序上进行压力测试(使用Spring、Struts2 REST和PostgreSQL构建)

我正在用我的应用程序模拟典型用户的场景:

4个GET、3个INSERT、20个更新呼叫

服务器规格:

4芯英特尔至强X5365 3GHz

8GB内存

单个320GB SATA磁盘

操作系统:Ubuntu 8.10 32位

DB:Postgresql 8.4

Tomcat 6.0.18

Java 1.6.0_14


结果显示,服务器将处理大约130个并发事务。这个号码可能吗?是否有在线结果可与我的进行比较?

瓶颈将出现在您的数据库中,因此在不了解数据库性能的情况下很难进行比较

我们有一台类似的机器(除了16GB内存,运行Tomcat 5.5)。在峰值负载下,它可以轻松地同时服务256个连接。我们正在讨论将maxThreads更改为512

一些调整技巧

  • 如果将Apache作为前端运行,请使用
    mod_jk
    。它的性能比mod_proxy好得多
  • 如果您直接为HTTP服务或使用mod_代理,请使用Tomcat6中的NIO连接器
  • 确保线程池(maxThreads)足够大,默认值仅为200
  • 减少Tomcat状态。特别是,不要使用HttpSession。该状态可能导致应用程序内存泄漏,并逐渐降低性能。将所有状态推送到数据库或客户端(cookie)
  • 一定要使用数据库池(DBCP)。我们有MySQL,JDBC驱动程序非常健谈
  • 如果运行一个JMeter实例,它可能会成为瓶颈。从不同的网络运行多个从机以模拟实际生产负载

  • 瓶颈将出现在数据库中,因此在不了解数据库性能的情况下很难进行比较

    我们有一台类似的机器(除了16GB内存,运行Tomcat 5.5)。在峰值负载下,它可以轻松地同时服务256个连接。我们正在讨论将maxThreads更改为512

    一些调整技巧

  • 如果将Apache作为前端运行,请使用
    mod_jk
    。它的性能比mod_proxy好得多
  • 如果您直接为HTTP服务或使用mod_代理,请使用Tomcat6中的NIO连接器
  • 确保线程池(maxThreads)足够大,默认值仅为200
  • 减少Tomcat状态。特别是,不要使用HttpSession。该状态可能导致应用程序内存泄漏,并逐渐降低性能。将所有状态推送到数据库或客户端(cookie)
  • 一定要使用数据库池(DBCP)。我们有MySQL,JDBC驱动程序非常健谈
  • 如果运行一个JMeter实例,它可能会成为瓶颈。从不同的网络运行多个从机以模拟实际生产负载

  • 不错的列表,但是与其使用
    commons dbcp
    ,不如使用
    tomcatjdbc
    。DBCP就是单线程的。更多信息:DBCP已经存在很长时间了,它的弱点是众所周知的。任何使用它的人都知道如何处理它。我们用它获得了很好的表现。Tomcat游泳池是如此的新。我现在不想插嘴。回答得真不错。明天我会尝试一切,然后回来。使用数据库的速度会降低大约3倍!!!10ms~30ms。。。我以为会少一些。但是在您的帮助和其他帮助下,我们现在有300个并发连接没有错误(超时)。您能提供您使用的JDBCMax连接的数量吗?我正在尝试比较服务器连接和数据库连接之间的工作生产server.xml设置的比率。很好的列表,但是与其使用
    commons dbcp
    ,不如使用
    tomcat jdbc
    。DBCP就是单线程的。更多信息:DBCP已经存在很长时间了,它的弱点是众所周知的。任何使用它的人都知道如何处理它。我们用它获得了很好的表现。Tomcat游泳池是如此的新。我现在不想插嘴。回答得真不错。明天我会尝试一切,然后回来。使用数据库的速度会降低大约3倍!!!10ms~30ms。。。我以为会少一些。但是在您的帮助和其他帮助下,我们现在有300个并发连接没有错误(超时)。您能提供您使用的JDBCMax连接的数量吗?我试图比较服务器连接和数据库连接之间的工作生产服务器.xml设置的比率。