我有一台装有 Java 7 和 Tomcat 7 的 Linux(RHEL 5.8)服务器。
性能很差,我很确定是数据库查询很慢。
我们现在有 2 个核心,平均负载从未超过 1.5,第二个核心的使用率通常为 0%。他们想尝试添加一个核心,看看是否有帮助。我认为不会。通常,如果我发现所有核心至少在某些时候都达到最大值,我才会添加另一个。
您对此有何看法?您认为什么时候该添加更多核心?
更多信息
DB 位于由 DBA 管理的另一个盒子上。我是 Linux 系统管理员。CPU
:2 核 Intel(R) Xeon(R) CPU X5675 @ 3.07GHz 16 GB RAM,2 GB 交换空间 8 GB 分配给堆,堆使用量通常小于 4 GB,峰值约为 6GB CPU 使用率峰值约为 120%
答案1
您的性能可能与核心数无关。您可能受到 I/O 限制,或者只是系统上没有足够的 RAM。
底层系统硬件的规格是什么?例如 CPU 型号、时钟速度、RAM 数量。
与其他指标相比,性能是否较差?您的期望如何?性能一直很差吗?
一般情况下,我会通过系统负载来确定核心数量是否足够。听起来,就您的情况而言,这个水平是合适的。
答案2
性能很差,我很确定是数据库查询很慢。
如果你确信这就是问题所在,那么你是否优化了 MySQL 或 MSSQL 安装?仅仅安装软件而不进行性能调整,仅仅投入更多资源是无法解决问题的。
我建议使用MySQL 调优入门脚本位于此处。非常容易使用,并且建议非常准确。
根据您的设置,您可能需要学习如何手动进行性能调整 - 这意味着您要学会自己解释 MySQL 输出并根据它采取行动 - 但这个脚本对我曾经使用过的 95% 的设置都运行良好。另外 5% 是需要更多自定义护理的数据库特殊设置。我强烈推荐以下教程MySQL 性能博客上的这篇文章。
答案3
在添加更多核心之前,最好先查看实际使用的资源 - 例如,如果系统受 IO 限制,则添加更多核心就是浪费金钱,但升级磁盘或 RAM 可能会解决问题。尝试运行 vmstat(例如“vmstat 2”)并监控 IO、内存和 CPU,以了解正在发生的事情。
答案4
由于您处于虚拟化环境中,添加/删除 CPU 和内存非常简单,基本上是无操作。所以只需这样做即可。然后,当性能没有改善时,您可以指向应用程序分析报告并说“我告诉过你”。