0

嘿,我的 mysql 上目前有超过300 多个 qps。在相当重的 PHP 网站上,每天大约有12000 个 UIP /没有 cron。我知道不看网站很难判断是否可以,但你认为这完全是矫枉过正吗?你的经验是什么?如果我优化脚本,你认为我能够大幅降低 qps 吗?我的意思是,如果我达到 200 qps,那将无济于事。谢谢

4

4 回答 4

5

目前在我的 mysql 上有超过 300+ qps

您的网站可以在 Via C3 上运行,对您有好处!

你认为这完全是矫枉过正吗?

那要看是不是

  • 1 页/秒执行 300 次查询,是的,您遇到了问题。
  • 30-60 页/秒,每个查询 5-10 个,那么你就没有问题。

每天 12000 个 UIP

我们有一个 50-60.000 的站点,它在 Via C3 上运行(与那个垃圾服务器相比,你的烤面包机是一个数据中心),但是 torrent 跟踪器使用了大约 50% 的 cpu,所以只有一半的小 cpu 可用于该网站似乎从未使用过它的任何重要部分。

你的经验是什么?

如果你想知道你是否要杀死你的服务器,或者你的网站是否被优化,下面的信息内容接近于零:

  • UIP(除非你得到类似 facebook 的号码)
  • 查询/秒(除非你高于 10.000)(我见过使用 postgres 的廉价双核爆炸 20.000 qps)

但以下是极其重要的:

  • 动态页面/秒服务
  • 每页查询数
  • 每个查询的持续时间(全部)
  • 服务器架构
  • vmstat、iostat 输出
  • 数据库日志
  • 网络服务器日志
  • 数据库自己的slow_query、锁和IO日志和统计

您没有关注正确的指标...

于 2011-05-07T21:38:14.937 回答
3

我认为你在这里错过了重点。如果 300+ qps 太多,很大程度上取决于网站本身、每秒访问该网站的用户数、同时运行的后台脚本等等。您应该能够测试和/或计算服务器的平均查询吞吐量,以了解 300+ qps 是否公平。而且,顺便说一句,这取决于这些查询的要求(几个字段,还是大量的二进制数据?)。

当然,如果您优化脚本和/或减少查询数量,您可以降低数据库的负载,但如果没有特定数据,我们将无法正确回答您的问题。要将 300+ qps 的负载降低到 200 qps 以下,您应该平均将总查询量至少降低 1/3。

于 2011-05-07T21:03:44.870 回答
1

优化脚本可以创造奇迹。通过优化对服务器的调用方式,我已经将之前需要 3 分钟到 0.5 秒的脚本处理了。当然,这是一种极端情况。如果可能的话,我将主要关注通过组合查询来最小化查询的数量。也许在您的查询中发挥创意,以在每次点击中包含更多信息。

从 300 到 200 qps 实际上是一个巨大的改进。您的服务器的流量下降了 33%……这很重要。

于 2011-05-07T21:03:18.030 回答
0

你不应该专注于脚本,专注于服务器。

您并不是说这 300 多个查询是否会导致问题。如果你的服务器没有死,没有理由降低金额。如果你已经做了优化,你应该专注于服务器。升级它或购买更多服务器。

于 2011-05-07T20:57:08.227 回答