我正在python3.4上开发一个使用django1.7和mysql作为数据库引擎的网站。在接下来的15-20天里,我计划进行测试。该网站在功能和复杂性方面与LinkedIn相似,我预计在未来6个月内将有20-30万用户。
我只在我的网站开发过程中学习过mysql。我正在使用django调试工具栏,并尝试减少查询时间和连接数。我有几个问题:
可以使用什么工具来创建http请求以自动填充数据库并查询各种页面。
考虑到来自多个用户的请求数量的增加,django调试工具栏是否足以进行分析和优化。
我是否应该减少数据库点击的数量或QuerySetsDjango的大小将是缓存,以及RAM的使用将如何影响网站的性能。
考虑到我之前没有数据库管理和处理网站的经验,我应该如何确定该网站的表现是否达标。请分享最佳实践,因为我很不熟悉。
最佳答案
SQL性能中最大的一个因素是您使用的表中的行数。您应该知道如何将5万个假用户和100万个假节点加载到您的测试数据库中。
然后猜猜你的页面浏览量是最常见的。在网上找到一个免费的负载测试工具(有很多),并用它在服务器上狠狠地点击那个页面。
找出哪些查询速度慢。添加适当的索引,或者如果必须的话,重新设计数据库,并使这些查询更快。
然后猜猜你的第二个最受欢迎的页面浏览和重复。继续走,直到你没时间了。
记住这是猜测。随着你的服务在用户中的增长,你需要关注真实用户喜欢的页面浏览量,并关注那些缓慢的查询。
如果你按照计划的速度添加用户,这将占用你第一年运营中相当大的一部分时间。
阅读一个名为http://use-the-index-luke.com/的网站