2010-09-27 18 views
4

对于高负载数据库开启mysql的连接压缩是否有任何重大的开销,还是总是赢家?什么是MySQL在小数据集上的连接压缩开销?

我们有数据库将非常小的数据集传送回请求程序(PHP),但这些数据库会不时收到很大的突发流量。如果我打开连接压缩,我可能会看到负载下的性能显着下降?

我们使用现代的硬件,但不是这是一个相当普通的服务器设置,即一个或两个双核CPU,8 GB的RAM等

回答

0

有没有办法告诉您的情况,如果它会帮助或没有帮助。没有足够的信息。
“不定期的大量突发流量”意味着大量的小数据包或几个非常大的数据包,还是与sql查询的数量有关?

数据库服务器是否在远程计算机上?
应用程序和数据库服务器之间的带宽是多少,Lan Mbits,Gbits,Tbits。或WAN Kbits,Mbits。?
“高负荷”是什么意思。你用完CPU资源,内存,磁盘IO或带宽?

的一些注意事项...

  • 压缩是CPU密集型
  • 大型数据集的压缩是对小数据集带宽友好
  • 压缩(什么是小?)可能只在添加可忽略的增加CPU使用率,但也只会提高带宽忽略不计
  • 如果你的应用程序和mysql服务器在同一台机器上,我怀疑你会从压缩中获得任何优势,因为bandwdth很高,压缩和解压缩需要CPU r物资跟不上。

没有一个更简洁的描述条件是什么,它很难给出一个简洁的答案。

DC

+0

这本来是更希望得到答案的一般问题的其将指示最适当的时间有压缩接通/断开一般,并指出这将不与任何重合怪癖一般压缩连接的预期效果。 但是当你问,在我的具体情况: 是数据库的远程 服务器在非常高带宽连接 高负荷数百POSS。每秒在一个优化好的小型数据库上进行数千次查询(最大表约150k条记录) 多数查询用于设置,如信息 – CoderChris 2010-09-28 08:45:19

+0

在这种情况下,答案出现在我给你的注释中。从那我会说压缩可能不需要。唯一的办法是在所有条件下进行一些性能测试。从来没有硬性规定,也没有真正的“一般”答案。 – DeveloperChris 2010-09-28 23:22:41