繁体   English   中英

对于高流量的ajax密集型网站,您会推荐什么?

[英]What would you recommend for a high traffic ajax intensive website?

对于像reddit这样的网站,有很多上/下投票和每个主题的很多评论,我该怎么办?

Lighttpd / Php或Lighttpd / CherryPy / Genshi / SQLAlchemy?

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

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

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

理想的设置将接近于

高速缓存

简而言之, nginx是一个快速轻巧的Web服务器/前端代理,具有独特的模块,可以直接从memcached的RAM存储中获取数据,而无需访问磁盘或任何动态Web应用程序。 当然,如果请求的URL尚未缓存(或者它已过期),则请求照常进入webapp。 天才部分是当webapp生成响应时,它的副本进入memcached,准备重用。

所有这些不仅适用于网页,还适用于AJAX查询/响应。

在文章中,'后'服务器是http,特别是谈论mongrel。 如果后面是FastCGI和其他(更快的?)框架会更好; 但它的关键性要低得多,因为nginx / memcached团队吸收了最大的负载。

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

在DB问题上,我会说PostgreSQL比MySQL更好地扩展并且具有更好的数据完整性。 对于小型站点,MySQL可能会更快,但据我所知,随着数据库大小的增长,它会显着减慢。 注意:我从来没有将MySQL用于大型数据库,所以你应该对其可扩展性有所了解。 )但PostgreSQL肯定能够很好地扩展,并且对于高流量站点来说是个不错的选择。

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

首先 - 谁正在主持,他们有什么? 你的内部天赋技能是什么? 你打算雇佣一家外部公司吗? 他们推荐什么? 一个愿意学习新框架的团队的全新项目?

第二件事是做一些模型 - 接口如何工作。 它需要加载和保存哪些数据? 我们的想法是保持网络和数据库端之间的流量。 例如,没有包含大量查询的繁琐页面。 等等

一旦您更好地了解了数据要求和流程,就可以开始进行数据库设计。 有很多规则要遵循,但其中一个更好的规则是遵循规范化规则(是的,我是一个数据库人为什么?)

现在你有几个页面构建 - 运行你的测试。 你有问题吗? 是的,现在看看它是什么。 页面服务或db拉? 然后衡量一个行动方案。

我会选择nginx + php + xcache + postgresql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM