我想为我的大学建立一个社交网站的MySQL数据库。
我的应用最多可拥有10,000名用户。可能的最大并发MySQL连接数是多少?
答案 0 :(得分:73)
根据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)
在接近该限制之前很久,您的服务器上可能会耗尽内存,文件句柄和网络套接字。
答案 1 :(得分:40)
您可能总共有10,000个用户,但这与并发用户不同。在此上下文中,正在运行并发脚本。
例如,如果您的访问者访问index.php,并且它进行数据库查询以获取某些用户详细信息,则该请求可能会持续250毫秒。您可以通过仅在查询时打开和关闭它们来限制这些MySQL连接的存活时间,而不是在脚本持续时间内保持打开状态。
虽然很难制作任何类型的公式来预测一次打开多少个连接,但我冒险尝试以下方法:
在任何给定时间,用户群为10,000个用户时,您可能不会有超过500个活跃用户。 在这500个并发用户中,一次可能最多是10-20个并发请求。
这意味着,您实际上只建立了大约10-20个并发请求。
正如其他人所说,你在该部门没有什么可担心的。
答案 2 :(得分:1)
我可以向您保证,原始速度最终取决于使用大表的非标准使用索引来提高速度。