MySQL 托管:推荐的规格和 w

MySQL 托管:推荐的规格和 w

我有两个MySQL托管的具体案例。

1) 我遇到过一个案例,一个 MySQL 数据库有 2000 多个并发用户。他们不是简单的 Web 用户,而是实际的业务用户,需要在 8-9 个工作小时内不断连接写入和读取。MySQL 服务器的规格应该是什么,即处理器、RAM、CPU 数量等?双四核 Xeon 5500 系列是否足够?或者我可以使用 Xeon 3400 系列吗?额外的内存有帮助吗?有人建议集群!有必要吗?

2) 我必须为客户设置大约 300 个网站的托管服务。他们预计 300 个 MySQL 数据库之间会有大约 3000 到 6000 个并发用户。服务器的理想配置应该是什么,或者我应该将负载分摊到多台服务器上?

3)添加更多核心对 MySQL 有帮助吗,还是原始 CPU 速度更重要?

欢迎咨询

答案1

问题 1- 这取决于他们一整天都在写什么和读什么、数据量有多大、数据库所服务的应用程序的性质等等。

如果您所说的“商业用户”是指支持 2000 名用户使用的内部业务应用程序的数据库服务器(例如,支持 2000 个席位的呼叫中心 CRM 应用程序,其中响应时间至关重要),那么一台功能强大的机器,配备尽可能多的 RAM 和智能磁盘安排可能就可以完成这项工作,但没有人能够根据您上面提供的信息提供具体的建议。

您的业​​务应用程序中的几个写得很糟糕查询或缺乏维护(索引、存储管理等)以及无论多少服务器基础设施都无法使系统表现良好。

与所有数据库支持的系统一样,一切都取决于所需的用例和在不影响业务需求的情况下可以承受的最慢响应时间 - 以报告/读取为中心的操作的要求与 OLTP 环境大不相同。在开始购买锡之前,您需要先弄清楚压力将发生在哪里。集群很好,但需要对 MySQL 和您正在服务的应用程序环境有更深入的了解。

问题2 -单独的数据库可以位于单独的服务器上。我们在消费者网络托管环境中有这种情况,并且我们每台机器运行 150 到 300 个数据库(如果我没记错的话,是标准的双处理器 DL380。这是几年前的事了)。根据负载要求,将大容量的数据库移动到不同的机器上。与任何 DB 服务器一样,大量的 RAM 和智能磁盘管理是您的好朋友。

问题 3 -多核可以为并行查询提供额外的速度,但我记得它的收益很快就会递减。同样,这取决于查询的类型和数据库的结构。简而言之,正常使用的 OLTP 数据库受 CPU 限制的可能性非常小 - 它通常受 IO 限制,并且取决于缓存的有效性、磁盘的结构(读写的单独通道)以及数据的存储和检索方式(有效索引、查询等)。如果我可以在更快的 CPU 和更多内核之间做出选择,我会购买大量 RAM,并将大部分时间花在磁盘布局上 :)

编辑:除了网上提供的大量有关 mysql 性能的资料和案例研究外,《高性能 MySQL》一书是一个很好的起点...

相关内容