【问题标题】:What would you recommend for a high traffic ajax intensive website?对于高流量 ajax 密集型网站,您有什么建议?
【发布时间】:2010-09-17 07:34:58
【问题描述】:

对于像 reddit 这样的网站,每个主题都有很多赞成/反对票和很多 cmets,我应该怎么做?

Lighttpd/Php 还是 Lighttpd/CherryPy/Genshi/SQLAlchemy?

对于数据库,什么可以更好地扩展/最快的 MySQL(4.1 或 5?)或 PostgreSQL?

【问题讨论】:

    标签: php python lighttpd cherrypy high-load


    【解决方案1】:

    我无法回答 MySQL/PostgreSQL 问题,因为我对 Postgres 的经验有限,但我的硕士研究项目是关于使用 CherryPy 的高性能网站,我认为如果你使用它不会让你失望CherryPy 为您的网站。它可以轻松扩展到商用硬件上的数千个同时用户。

    当然,PHP 也是如此,我不知道有任何合理的基准来比较 PHP 和 CherryPy 的性能。但是,如果您想知道 CherryPy 是否可以处理每秒大量请求的高流量站点,答案肯定是肯定的。

    【讨论】:

      【解决方案2】:

      需要更多数据。 Jeff 有几篇关于相同问题的文章,答案是等到遇到性能问题。

      首先 - 谁在托管,他们有什么可用的?您的内部人才技能组合是什么?你打算聘请外部公司吗?他们推荐什么?带有愿意学习新框架的团队的全新项目?

      第二件事是做一些模型——界面是如何工作的。它需要加载和持久化哪些数据?这个想法是保持网络和数据库之间的流量朝下。例如没有有很多查询的聊天页面。等等

      一旦您对数据需求和流程有了更好的了解,然后再进行数据库设计。有很多规则要遵循,但更好的规则之一是遵循规范化规则(是的,我是数据库专家,为什么?)

      现在您已经构建了几个页面 - 运行您的测试。你有问题吗?是的,现在看看它是什么。页面服务或数据库拉动?衡量然后选择行动方案。

      【讨论】:

        【解决方案3】:

        理想的设置应该接近this:

        简而言之,nginx 是一个快速、轻量级的网络服务器/前端代理,具有一个独特的模块,可以让我们直接从memcached 的 RAM 存储中获取数据,而无需访问磁盘或任何动态 web 应用程序。当然,如果请求的 URL 还没有被缓存(或者如果它已经过期),请求会像往常一样继续到 webapp。天才之处在于,当 webapp 生成响应时,它的副本会转到 memcached,准备好被重用。

        这一切不仅完全适用于网页,也适用于 AJAX 查询/响应。

        在文章中,'back' 服务器是 http,并且专门讨论了 mongrel。如果后面是 FastCGI 和其他(更快?)框架,那就更好了;但这并不重要,因为 nginx/memcached 团队承担了大部分负载。

        请注意,如果您的 AJAX 流量的 url 方案设计良好(最好是 REST,恕我直言),您可以将大部分数据库放在 memcached 中,并且任何 POST(将传递给应用程序)都可以抢先更新缓存。

        【讨论】:

          【解决方案4】:

          关于数据库问题,我想说 PostgreSQL 比 MySQL 具有更好的扩展性和更好的数据完整性。对于小型站点,MySQL 可能会更快,但据我所知,随着数据库大小的增长,它会显着减慢。 (注意:我从未将 MySQL 用于大型数据库,因此您可能应该对它的可扩展性获得第二意见。)但是 PostgreSQL 的扩展性肯定很好,并且对于高流量来说是一个不错的选择网站。

          【讨论】:

            【解决方案5】:

            我会选择 nginx + php + xcache + postgresql

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-11-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-09-02
              • 1970-01-01
              相关资源
              最近更新 更多