Python Django用于企业web应用程序
我想知道Django是大型web应用程序(社交网络)的好选择吗?更具体地说,我需要一些关于DB事务数量增加时性能的建议,我想知道Django中包含的嵌入式或映射是一个好选择,还是应该实现它们 谢谢 数据库事务数增加时的性能 不是Django的问题,真的 通过Apache和mod_wsgi,您可以有很多并发的Django会话。他们将共享一个公共数据库 因此,这完全是一个数据库问题。您应该能够配置足够的Apache/Django会话,以使您的数据库被淹没 或者Django中包含的映射是一个不错的选择,或者我应该实现它们 对。这真是个不错的选择 除非你能证明ORM是你的瓶颈,否则就使用它 随着扩展,您将重新设计数据库、缓存和其他体系结构功能。因为ORM有一个缓存(数据库也是如此),所以这里很少有性能问题 你可以Python Django用于企业web应用程序,python,django,Python,Django,我想知道Django是大型web应用程序(社交网络)的好选择吗?更具体地说,我需要一些关于DB事务数量增加时性能的建议,我想知道Django中包含的嵌入式或映射是一个好选择,还是应该实现它们 谢谢 数据库事务数增加时的性能 不是Django的问题,真的 通过Apache和mod_wsgi,您可以有很多并发的Django会话。他们将共享一个公共数据库 因此,这完全是一个数据库问题。您应该能够配置足够的Apache/Django会话,以使您的数据库被淹没 或者Django中包含的映射是一个不错的选择
但是大多数性能问题将是通过Apache下载静态媒体文件。我应该补充一点,企业应用程序在使用Django ORM时可能会遇到的一个大问题是,它的功能有点有限(即它可以表达什么查询)。如果你做两件事,我认为这是可以控制的:
# 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""",
}我的公司刚刚为一家大型企业构建了这样一个系统,该系统基于Django,包括所有移动系统。使用django,开发成本低,企业服务器堆栈内的可运行性没有问题。甚至Django也设法让我们通过了渗透和安全测试。如果使用任何其他语言,我们将无法在极端预算限制下成功完成此项目因此,您是否建议使用另一台服务器来处理静态文件,如nginx或lighttpd,或者将其卸载到CDN?而不是另一台服务器。现有服务器的另一部分。将服务器配置为通过mod_wsgi向Django发送Django请求。配置要直接处理的静态介质请求。Django文档详细介绍了这种配置,我将静态内容托管在orther的另一个域中,以防止为每个请求发送cookie和其他一些头。感谢回复“防止为每个请求发送cookie和一些其他头”?似乎工作太多,收益太少。你能证明这有帮助吗?当你处理很多请求时,这肯定会有帮助。因此,您需要尽可能减少请求大小。