我想知道Django是一个大型web应用(社交网络)的好选择吗?更具体地说,当DB事务数量增加时,我需要一些关于性能的建议,我想知道包含在Django中的嵌入式OR映射是一个很好的选择,还是应该实现它们。
谢谢
发布于 2010-09-14 22:56:05
当数据库事务数增加时,
性能。
不是Django的问题,真的。
通过Apache和mod_wsgi,你可以有很多并发的Django会话。所有这些都将共享一个公共数据库。
因此,这完全是一个数据库问题。您应该能够配置足够的Apache/Django会话,使您的数据库不堪重负。
包含在
中的Django OR映射是一个很好的选择,或者我应该实现它们。
是。这是一个非常好的选择。
在你能用证明是你的瓶颈之前,使用它。
当您向上扩展时,您将重新处理数据库、缓存和其他体系结构特性。因为ORM有一个缓存(就像你的数据库一样),所以在这里你很少遇到性能问题。
你可以的。
但是您的大多数性能问题将是通过Apache下载静态媒体文件。
发布于 2010-09-15 03:09:46
我应该补充的是,在使用Django ORM时,企业应用程序可能会遇到的一个大问题是,它的能力受到一定程度的限制(即它可以表达的查询)。我认为如果你做两件事,这是可以处理的:
作为第二点的一个例子:你没有理由不能编写一个查询存储管理器,它的用法如下:假设你有一个名为blog的应用程序,它有一个名为Entry的模型:
# models.py
class Entry(models.Model):
objects = project.QueryStorageManager()
author = models.ForeignKey(User)
body = models.TextField()
slug = models.CharField(max_length=512)
published_date = models.DateField()
@project.StoredQuery("getEntryMonthHistogram")
def getEntryMonthHistogram(self, sql, author):
return objects.runQuery(sql, author)
# queries.py
{
"getEntryMonthHistogram": """SELECT EXTRACT(MONTH FROM published_date),
REPEAT('*', count(*)) histogram
FROM blogs_entry
WHERE author_id = %s""",}
发布于 2012-03-28 18:51:33
我的公司刚刚为一个基于Django的大型企业构建了这样一个系统,包括所有的移动系统。有了django,开发成本很低,企业服务器堆栈内部的可运行性也不成问题。甚至Django也设法让我们通过了渗透和安全测试。如果使用任何其他语言,在极端的预算限制下,我们都不可能成功完成这个项目
https://stackoverflow.com/questions/3709094
复制相似问题