这个Mysql数据库服务器负载是不是太高了?

这个Mysql数据库服务器负载是不是太高了?

我正在运行一个 php 网站。我有两台服务器。

请帮我检查一下这个 Mysql 数据库服务器负载是否过高?我发现 mysql CPU 使用率始终高于 100%。有什么优化建议吗?

我正在使用 CentOS 版本 5.8 Mysql 5.1.63-cll MySQL 社区服务器

4 个 Intel Xeon 2.13G 处理器 总内存:4 G

在此处输入图片描述

我的cnf

myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 100M
thread_concurrency = 4
max_connections = 600
max_user_connections=600

答案1

是?不是?视情况而定?

如果您的服务器正在处理批处理作业 - 您可能会最大限度地利用您的资源。如果它被用作某些交互式/网络应用程序的后端 - 那就不好了。

随机提示:

答案2

简短的回答:不,负载不太高。

关于此的一些细节

您有 4 个处理器,并且您可以看到没有 iowait (0.0%wa)。

如果您有 iowait,它可能会显示您使用的存储太慢,无法为处理器提供足够快的数据。但是由于没有 iowait,因此存储不是造成负载的原因。

假设您有 4 个处理器,那么 1.5 的负载根本无需担心。事实上,直到负载持续超过 5 时,您才应该开始担心负载问题。

关于负载的一些知识

让我们用 CPU 核心来打个比方。假设每个核心都是一个管子。平均负载描述的是需要通过管子的水量。

1 根管子意味着我们可以毫无顾虑地处理 1 根负载。这意味着如果你有很多水,负载就会增加,因为管子不够大,无法让所有的水通过。(水被处理)

因此,如果您有 4 个核心 - 您可以轻松处理 4 个负载,而不必担心添加更多管子 :)

我希望这是有意义的。

编辑:显而易见

如果您只为 1 名用户提供服务,并且用户很少做任何事情,那么您的代码可能非常糟糕,您应该考虑进行优化。但是,如果您正在运行一个相当繁忙的应用程序,我不会打开红灯。

相关内容