与MySQL的最大并发连接数

use*_*703 46 mysql database

我想为我的大学建立一个社交网站的MySQL数据库.

我的应用最多可以有10,000个用户.可能的最大并发MySQL连接数是多少?

Mar*_*c B 74

根据MySQL文档:http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_user_connections

 maximum range: 4,294,967,295  (e.g. 2**32 - 1)
Run Code Online (Sandbox Code Playgroud)

在接近该限制之前很久,您的服务器上可能会耗尽内存,文件句柄和网络套接字.

  • 只有基本的mysql设置不够好.从简单开始,根据需要增加复杂性.连接数不是问题.这就是那些联系正在做的事情.登录mysql的10,000人没什么.运行大型复杂内存占用查询的10,000个用户就是问题所在.请记住,您的网站上可能有10,000人,但并非所有人都会同时导致数据库查询.您可能只有(比方说)在给定时间运行的50个查询. (15认同)

cru*_*ush 41

您可能总共有10,000个用户,但这与并发用户不同.在此上下文中,正在运行并发脚本.

例如,如果您的访问者访问index.php,并且它进行数据库查询以获取某些用户详细信息,则该请求可能会持续250毫秒.您可以通过仅在查询时打开和关闭它们来限制MySQL连接进一步生存的时间,而不是在脚本持续时间内保持打开状态.

虽然很难制作任何类型的公式来预测一次打开多少个连接,但我冒险尝试以下方法:

在任何给定时间,您可能不会有超过500个活跃用户,用户群为10,000个用户.在这500个并发用户中,一次最多可能有10-20个并发请求.

这意味着,您实际上只建立了大约10-20个并发请求.

正如其他人提到的那样,你在该部门没有什么可担心的.