【发布时间】:2010-12-13 22:14:26
【问题描述】:
所以我已经构建 django 应用程序有一段时间了,喝着凉快的饮料等等:只使用 ORM,从不编写自定义 SQL。
一旦您拥有大量用户特定内容(即照片、朋友、其他数据等),网站的主页(用户将花费 80% - 90% 时间的主界面)会变得很慢
所以我打开了 sql 记录器(预装了 pinax,我只是在设置中启用了它)并想象当它报告超过 500 个数据库查询时我会感到惊讶!使用手工编码的 sql,我几乎不会在最复杂的页面上运行超过 50 个。
事后看来,这并不令人惊讶,但这似乎不太好。
...即使只有十几个查询需要 1ms+
所以我想知道,往返 mysql 有多少开销? django 和 mysql 在同一台服务器上运行,因此不应该有任何与网络相关的开销。
【问题讨论】:
-
500 是对一页进行多次查询的方式。我们的主页有我们网站的最多查询(我认为),即 57 个查询。但其中有 52 个使用 memcached 进行缓存。
-
@Echo 我绝对同意
-
出于好奇,您如何计算查询次数?
标签: python mysql django overhead