代码之家  ›  专栏  ›  技术社区  ›  Trick

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

  •  0
  • Trick  · 技术社区  · 15 年前

    我在做压力测试 JMeter 在Web应用程序上(使用Spring构建,struts2 rest,使用PostgreSQL)。

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

    4个get,3个insert,20个update调用。

    服务器规格:

    4芯Intel Xeon X5365 3GHz

    8GB RAM

    单个320GB SATA磁盘

    操作系统:Ubuntu 8.10 32位

    数据库:PostgreSQL 8.4

    Tomcat 60.18

    Java1.60Sy14

    结果表明,服务器可以处理大约130个并发事务。这个数字可以吗?网上有什么结果可以和我的相比较吗?

    1 回复  |  直到 7 年前
        1
  •  4
  •   ZZ Coder    15 年前

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

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

    一些调优技巧,

    1. 如果您将Apache作为前端运行,请使用 mod_jk . 它的性能比 mod_proxy .
    2. 如果直接提供HTTP服务或使用mod_代理,请使用Tomcat6中的NIO连接器。
    3. 确保线程池(maxthreads)足够大,默认值只有200。
    4. 减少Tomcat状态。尤其是,不要使用httpsession。这种状态可能会导致应用程序内存泄漏,并逐渐降低性能。将所有状态推送到数据库或客户端(cookie)。
    5. 请使用数据库池(DBCP)。我们有MySQL,JDBC驱动程序很健谈。
    6. 如果运行JMeter的一个实例,它可能会成为瓶颈。从不同的网络运行多个从机来模拟实际的生产负载。