Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对于高流量ajax密集型网站,您有什么建议?_Php_Python_Lighttpd_Cherrypy_High Load - Fatal编程技术网

Php 对于高流量ajax密集型网站,您有什么建议?

Php 对于高流量ajax密集型网站,您有什么建议?,php,python,lighttpd,cherrypy,high-load,Php,Python,Lighttpd,Cherrypy,High Load,对于像reddit这样的网站,每个主题都有很多上/下投票和评论,我应该选择什么 Lighttpd/Php还是Lighttpd/CherryPy/Genshi/SQLAlchemy 对于数据库,什么样的数据库可以扩展得更好/最快的MySQL(4.1或5?)或PostgreSQL?我不能回答MySQL/PostgreSQL的问题,因为我对Postgres的经验有限,但我的硕士研究项目是关于使用CherryPy的高性能网站,如果你在你的网站上使用CherryPy,我不认为你会失望。它可以轻松地扩展到商

对于像reddit这样的网站,每个主题都有很多上/下投票和评论,我应该选择什么

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


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

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


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

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

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

第二件事是做一些模型-界面将如何工作。需要加载和保存哪些数据?这样做的目的是保持web和db端之间的通信量降低。e、 g.没有有大量查询的闲聊页面。等等

一旦您对数据需求和流程有了更好的了解,就可以开始数据库设计了。有很多规则需要遵循,但更好的规则之一是遵循规范化规则(是的,我是db的家伙,为什么?)


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

理想的设置应接近:

简而言之,它是一个快速、轻便的Web服务器/前端代理,具有一个独特的模块,可以让它直接从的RAM存储中获取数据,而不需要访问磁盘或任何动态Web应用程序。当然,如果请求的URL还没有被缓存(或者已经过期),请求会像往常一样进入webapp。genius的一部分是,当webapp生成响应时,它的一个副本将被发送到memcached,以备重用

所有这些不仅适用于网页,而且也适用于AJAX查询/响应

在这篇文章中,“后台”服务器是http,并且专门讨论mongrel。如果后面是FastCGI和其他(更快的?)框架会更好;但它的重要性要小得多,因为nginx/memcached团队承担了大部分负载


请注意,如果您的AJAX流量url方案设计得很好(REST是最好的,IMHO),您可以将大部分数据库放在memcached中,任何帖子(将传递到应用程序)都可以抢先更新缓存。

关于数据库问题,我认为PostgreSQL比MySQL具有更好的扩展性和更好的数据完整性。对于一个小型站点,MySQL可能会更快,但据我所知,随着数据库规模的增长,MySQL的速度会显著降低。(注意:我从未在大型数据库中使用过MySQL,因此您可能应该对它的可伸缩性有第二种看法。)但PostgreSQL确实具有很好的可伸缩性,对于高流量的网站来说是一个不错的选择。

我会选择nginx+php+xcache+PostgreSQL