Php 对于有多少人可以从数据库请求数据,mysql是否有限制?

Php 对于有多少人可以从数据库请求数据,mysql是否有限制?,php,mysql,database-connection,bandwidth,Php,Mysql,Database Connection,Bandwidth,我知道托管存在带宽问题,即站点用户在一个月内可以消耗的资源总量,但是mysql连接呢 因此,如果我有足够的带宽,我有一个php/mysql支持的网站,在该网站上有一个菜单,其中每个链接选择并显示数据库中的数据,那么有多少不同的人(计算机)可以在同一时间或大约同一时间单击同一链接以获取数据库数据,这有限制吗,假设有足够的带宽?假设有限制,因为你的“足够”在某些情况下可能是错误的。假设有限制,因为你的“足够”在某些情况下可能是错误的。应该没有限制。唯一的限制可能是服务器的计算限制。应该没有限制。唯一

我知道托管存在带宽问题,即站点用户在一个月内可以消耗的资源总量,但是mysql连接呢


因此,如果我有足够的带宽,我有一个php/mysql支持的网站,在该网站上有一个菜单,其中每个链接选择并显示数据库中的数据,那么有多少不同的人(计算机)可以在同一时间或大约同一时间单击同一链接以获取数据库数据,这有限制吗,假设有足够的带宽?

假设有限制,因为你的“足够”在某些情况下可能是错误的。

假设有限制,因为你的“足够”在某些情况下可能是错误的。

应该没有限制。唯一的限制可能是服务器的计算限制。

应该没有限制。唯一的限制可能是服务器的计算限制。

是的,MySQL变量“max_connection”限制了可以同时打开到MySQL服务器的客户端连接数。您可以使用以下方法检查此变量的值:

show variables like "max_connections";
默认值为151。您可以使用
show processlist
命令查看当前打开的连接数

实际上,对于具有DB后端的小型站点来说,该值应该足够了。如果您发现自己的连接不足,则更有可能是您的查询没有得到优化,耗时太长或挂起

是的,MySQL变量“max_connection”限制了可以同时打开到MySQL服务器的客户端连接数。您可以使用以下方法检查此变量的值:

show variables like "max_connections";
默认值为151。您可以使用
show processlist
命令查看当前打开的连接数


实际上,对于具有DB后端的小型站点来说,该值应该足够了。如果您发现自己的连接不足,则更有可能是您的查询没有得到优化,耗时太长或挂起

可能的重复,可能的重复,基本上,你是说它只涉及到带宽?所以带宽可能会耗尽,然后需要更多的带宽(服务器)?基本上你是说,这取决于带宽?所以带宽可能会耗尽,然后需要更多的带宽(服务器)?嗯,这看起来并不多。那么,对于一个每天有数以万计访问者的大型网站,他们如何解决这个问题呢?实际上,一个典型的DB请求最多需要几毫秒,对Web服务器的请求也是如此。HTTP是无状态的-一旦请求得到服务,连接就不会“挂起”等待速度慢的人移动它的手并单击下一个链接,从而阻止整个Web服务器响应。相反,会为不同的请求提供服务。因此,150个并发连接并不意味着150个并发人类用户。至于扩展,因为您提出了以下问题:优化查询和代码以加快速度,优化数据库配置以提高吞吐量,尽可能静态地提供内容,使用CDN服务静态内容,使用缓存层(如memcached或reddis),垂直扩展(向它扔更大的硬件),横向扩展(向它扔很多小硬件和负载平衡器),等等。但是对于成千上万的访问者,你不需要担心扩展。嗯,这似乎不太重要。那么对于一个每天有成千上万访问者的大型网站,他们如何解决这个问题呢?实际上,一个典型的DB请求最多需要几毫秒,对webserver.HTT的请求也是如此P是无状态的-一旦请求得到服务,连接就不会“挂起”等待速度较慢的用户移动其手并单击下一个链接,阻止整个Web服务器响应。相反,会提供不同的请求。因此,150个并发连接并不意味着150个并发人工用户。至于扩展,因为您提出了以下问题:优化查询和代码以加快速度,优化数据库配置以提高吞吐量,尽可能以静态方式提供内容,使用CDN提供静态内容,使用memcached或reddis等缓存层,垂直向外扩展(向其扔较大的硬件),水平向外扩展(向其扔大量小型硬件和负载平衡器),等等。但是有成千上万的访问者,你不必担心缩放。