【问题标题】:How to prepare for mySQL too many requests?如何为 mySQL 过多的请求做准备?
【发布时间】:2017-03-18 21:48:15
【问题描述】:

感谢您花时间解决我的问题。
我是 MySQL 新手。

我的问题是我想在一秒钟内对 MySQL 数据库进行很多(大约 1000 个客户的请求)select/insert 查询。

我发现它有一个适当的限制,大约 250-500 个并发,否则如果没有限制,就会有未处理的硬件过度使用服务器。

但我需要在一秒钟内运行大约 1000 个并发查询。

我搜索了我的问题,找到了主/从方法(但我不太了解)。我不得不问一下,如果我将 Read 拆分为 slave,并将 Write 拆分为 Master,并发连接将如何解决,请您解释一下详细点,先谢谢了。

而且我认为一次 1000 个请求并不是一个很大的范围。所以我认为我的服务器不会有硬件过度使用。你能建议我解决我的问题吗?

主要使用的语言是PHP。我目前正在尝试通过创建json 文件作为数据库的副本来解决它,并且客户端的选择请求将发送给它们。服务器脚本每 3 秒刷新一次。我想知道解决这个问题是个好主意还是坏主意。

【问题讨论】:

  • 您期望有多少个选择语句?这些语句可以轻松缓存,而插入查询则不能。这些 select 语句是唯一的,还是您期望有很多重复的查询?
  • @StephanVierkant,选择语句不会重复,因为它们来自唯一的客户端(Android 应用程序)。在最高峰秒内,一次大约有 1000 个请求。谢谢。
  • @RyanVincent,我现在和以前都在使用 mysql/php。但是我的 Windows 服务器(通过 plesk - 双 CPU / 32 GB Ram)已经在运行许多请求,有时它会面临诸如“资源不足”或加载时间过长等问题以成功声明。所以我想在我的新服务器和新应用程序上避免这些问题(请求来自 android 应用程序)。谢谢。

标签: php mysql


【解决方案1】:

基本上,IOPS(每秒输入/输出操作数)受您的硬件限制(您的硬盘驱动器的速度和大小、您拥有多少 GB 的 RAM 以及您拥有的 CPU 速度)。

在您的问题中,您要求并发连接和每秒查询数。这不是一回事。

The maximum permitted value for number of simultaneous connections is 32 767 如您所见,您不受数据库引擎的任何限制。

如果您正在考虑数据库引擎,则每秒最大查询数没有任何固定限制。但是,正如我在开头提到的那样,您受到硬件的限制。

您需要注意,执行一个简单的选择问题要比执行具有多个连接的复杂选择问题快得多。

总结一下。如果您有足够快的服务器,每秒 1 000 次查询不是问题。

【讨论】:

  • 谢谢,会是最好的!
猜你喜欢
  • 2022-11-25
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多