为 MySQL 服务器选择 1-2k rps 的硬件

为 MySQL 服务器选择 1-2k rps 的硬件

我正在寻找新的数据库服务器。我想知道您的意见和建议。

当前服务器规格:

  1. 我们使用数据库服务器来处理网站每秒 100-200 个请求(我计划增长到 200-250)
  2. 目前,php 数据库中有 1000 - 2000 个 rps(增长到 3-4k)
  3. 数据库大小 - 63 Gb(增长至 100Gb)
  4. 存储:4 HDD x 2Gb,RAID 1 用于数据库数据
  5. RAM:32 Gb CPU:英特尔四核 Xeon E3-1270(4 核,3400Mhz)
  6. 软件 MySQL 5.5 基于 Centos 6.4

我想要什么:我需要明年使用的服务器,我等待负载增长约 20-50%。我打算将内存增加到 64GB,但我不确定存储和 CPU。你觉得转移到 SSD 和更强大的 CPU 怎么样?

这是服务器 CPU 负载图 在此处输入图片描述

我将非常感谢您的意见和建议。

答案1

  1. 用对存储过程的调用替换所有普通查询。解析 SQL 和准备字节码会消耗大量 CPU。

  2. 安装尽可能多的 RAM。128G 可以将索引装入 RAM - 从而显著提高查询速度。此外,缓存结果也是一个优点。

  3. 尽管市场营销材料显示 SSD 并不适合大量插入/更新。重负载下的 MTBF 约为 9-12 个月,具体取决于使用的容量百分比。

刚才我已经循环了 10G 大小的表,存储例程长度为 400 行。我每秒大约有 5000 个过程调用(每秒 200k+ 个单一查询)。我的主机是 Hetzner 的基本配置的 EX40 和 FreeBSD 9.3 上的 vanilla MariaDB 5.3。瓶颈是 CPU,而不是 HDD(2x2TB RAID1)。

相关内容