如何在Web上同时支持多个sql查询?

时间:2010-08-31 22:51:44

标签: sql mysql multithreading database-connection

问题是:如果我在某个地方托管了一个网页。后端环境支持LAMP。例如:每当用户打开新页面时,它将创建与MySQL数据库服务器的新mysql连接并执行相应的查询。 我们都知道MySQL有一个max_connection限制(版本为100,默认为<5.1)。

当然,我们可以增加mysql的max_connection数。除此之外,我想知道是否有一些现有的方法(希望不是太复杂)同时支持许多(比如大约30,000-40,000)用户。任何文章或链接将不胜感激!

2 个答案:

答案 0 :(得分:1)

无论SQL查询如何,您的Web服务器都无法处理30,000到40,000个并发请求。不要将用户数量与同时请求的数量混淆。

如果确实有多个并发请求,则需要将Web流量引导到地理位置分散的多个数据中心的多个服务器上。它与PHP或SQL无关 - 你甚至无法同时提供那么多静态HTML页面,只是因为网络带宽无法处理它。

如果您需要运营大型网站,还有很多需要学习的地方。查看Theo Schlossnagle的精彩演讲Scalable Internet Architectures和他的book of the same title

答案 1 :(得分:0)

查看techniques used by Wikipedia

  • 分布式数据库
  • 与Web和文件服务器不同的专用数据库服务器
  • 简短的数据库查询,以便快速发生连接回收
  • 根据需要通过调整和重新设计来持续关注服务器性能