【问题标题】:how to support many sql queries on a web at the same time?如何同时支持网络上的多个 sql 查询?
【发布时间】:2010-08-31 22:51:43
【问题描述】:

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

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

【问题讨论】:

    标签: sql mysql multithreading database-connection


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      查看techniques used by Wikipedia

      • 分布式数据库
      • 不同于 Web 和文件服务器的专用数据库服务器
      • 数据库查询时间短,因此可以快速回收连接
      • 持续关注服务器性能,并根据需要进行调整和重新设计

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-12
        • 2019-01-15
        • 1970-01-01
        • 1970-01-01
        • 2019-01-25
        • 2022-08-15
        • 2016-06-12
        • 2011-09-14
        相关资源
        最近更新 更多