Python是否适用于高负载Web项目?

时间:2011-01-13 10:31:50

标签: c# python asp.net-mvc

我决定开始自己的网络项目。应该是高负载项目,我无法决定应该使用哪种技术。我擅长ASP.NET MVC,但我比C#更喜欢Python之类的语言。我读了很多关于Python和Django / Pylons /等的内容,但我没有在python上找到任何关于highload项目的好例子。

所以,问题是: Python是否适合高负载项目?这够快吗?如果是的话,像django / pylons / etc这样的python框架对此有用吗?或者asp.net mvc会是更好的选择吗?

PS,我对Java,Ruby和PHP并不感兴趣:)所以,我只选择Python + django / pylons / etc和asp.net mvc。

5 个答案:

答案 0 :(得分:5)

并不是说平台的“快速”程度如何,更多的是它的扩展程度。如果选择X而不是Y意味着你需要10%,20%,50%的服务器资源,这就是“确定”。如果这意味着你需要O(n ^ 2)而不是O(n),那就不行了。

当然,Django和Asp.NET MVC都有“高容量”网站。

最终,我认为您选择的数据库平台,以及您的数据库设计将远远超出您选择的网络应用平台。

请记住,对于绝大多数Web应用程序而言,开发和维护成本远远超过托管成本。服务器很便宜。开发人员很贵。谁将维护该项目?他们有什么专业知识?

答案 1 :(得分:5)

是的,Python会这样做,有几个使用Python的高负载网站。通常IO是问题,而不是处理能力。

它还取决于“高负荷”对您意味着什么。为了安全起见。使用一个Web框架,您可以在其中选择您的部件(即不是Zope,Plone或Django),因此您可以使用快速模板引擎替换慢速模板引擎,使用快速模板引擎替换速度慢的ORM,使用快速模板引擎来替换速度慢的模板引擎等。如果我是你,我会使用金字塔。

也就是说,有些网站也可以被称为“高负荷”。这简直比较棘手。

答案 2 :(得分:3)

举个例子:FriendFeed使用Tornado,它是用Python编写的。对我来说看起来很高。

答案 3 :(得分:1)

Python是一个很好的选择。我是一名初级程序员,我们所做的所有项目都是django。你不知道用django制作的任何项目的原因是它看起来很平常而且很难分辨。看看:http://www.djangosites.org/(这里没有出现更大的项目)。 另一方面,python在linux中更加用户友好(我使用Ubuntu)。因此,如果你是Win Fan,那将意味着花更多的时间来解决问题,但这是可能的。我已经见过了。 我必须说我对ASP.NET知之甚少,所以我很难对它进行比较。 祝你好运。

答案 4 :(得分:1)

你的问题的答案非常明显:这取决于你! ;-)从你的描述中可以找到很多因素。

只是一个例子:我假设你的应用程序将使用数据库。你会用什么样的数据库? SQL? NoSQL的?如果是SQL,那么我认为SQL Server优于MySQL&合作 - 如果您想花钱购买许可证和所需的硬件。在那种情况下,我会选择Asp.Net,因为那里的支持要好得多。

首先应该更好地了解自己真正想做的事情,然后选择合适的工具。