gpt4 book ai didi

java - 用于运行 Java Web 应用程序的单个服务器的可扩展性

转载 作者:搜寻专家 更新时间:2023-10-31 20:07:06 25 4
gpt4 key购买 nike

我想更深入地了解部署到单个 Tomcat 实例的单服务器 Java Web 应用程序可以处理的工作负载规模。特别是,假设我正在开发一个 Wiki 应用程序,它具有与 Wikipedia 类似的使用模式。如果我将它部署在具有以下配置的机器上,我的服务器在内存不足或显示过度压力迹象之前可以可靠地处理多少并发请求:

  • 4 核高端 Intel Xeon CPU
  • 8GB 内存
  • RAID-1 中的 2 个 HDD(无 SSD,无基于 PCIe 的固态存储)
  • RedHat 或 Centos Linux(64 位)
  • Java 6(64 位)
  • MySQL 5.1/InnoDB

我们还假设 MySQL 数据库与 Tomcat 安装在同一台机器上,并且所有 Wiki 数据都存储在数据库中。此外,我们假设 Java 应用程序构建在以下堆栈之上:

  • SpringMVC 前端
  • 用于持久性的 Hibernate/JPA
  • 用于 DI 和安全等的 Spring。

如果您没有使用过确切的配置,但有评估类似架构的可扩展性的经验,我也很想听听。

提前致谢。

编辑:我认为我没有正确阐明我的问题。我将得票最多的答案标记为最佳答案,我将在社区维基区域重写我的问题。简而言之,我只是想了解您对 Java 应用程序能够在一台物理服务器上处理的工作负载规模的体验,以及有关应用程序本身的类型和体系结构的一些描述。

最佳答案

您将需要使用一组工具:

  1. 负载测试工具 - 可以使用 JMeter。
  2. 监控工具 - 该工具将用于监控各种资源负载。有很多付费的也有免费的。 J探查器,visualvm
  3. 收集和报告工具。 (没有使用任何工具)

使用上述工具,您可以找到最佳值(value)。我会按照以下方式处理它。

  1. 将了解被访问页面的比例应该是多少。什么是后台进程及其频率。
  2. 相应地配置我的 JMeter(比率),并监控应用负载的性能(服务页面的时间......可以在 JMeter 中完成),使用监控工具监控其他资源。还要检查错误率的计数。 (注意:您需要决定 Not Acceptable 错误率。)
  3. 不断增加负载,不断写入各种感兴趣的数字,直到服务器完全崩溃。

您可以根据许多标准、低错误率、最长服务时间等来决定最佳值。JMeter 支持多种加载方式。

关于java - 用于运行 Java Web 应用程序的单个服务器的可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3429707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com