我的公司正处于某些(真棒:))Web应用程序开发过程的最后阶段。这个应用程序将作为(希望)一些大量用户的在线服务提供。这是迄今为止我们最大的django版本,因为我们准备发布一些关于部署的问题必须得到解答。
Q1:如何确定预测的X用户数/每分钟Y次点击或其他因素所需的服务器参数?
Q2:什么托管解决方案(shared / vps / dedicated)值得考虑?
问题3:首先可以进行哪些优化?
我知道这是非常主观的,并且取决于网站的大小,代码质量和其他因素,但我对您使用django(而不仅仅是django)部署的体验非常感兴趣。任何提示,链接,建议都是受欢迎的。提前谢谢。
答案 0 :(得分:2)
您想拥有哪种托管解决方案还取决于您自己想要服务器的数量(从升级等到备份......),您应该决定是否要承担责任或将其留给某人其他。
我认为通过测试估算的负载,您只能真正确定应用程序中的必要要求和瓶颈!尝试模拟尽可能多的请求......正如您所期望的那样 - 考虑缓存(memcached是您拥有的最佳选择)!如果你试图缓存东西,一个很棒的工具是django调试工具栏(http://github.com/robhudson/django-debug-toolbar),它可以向你显示你有多少数据库命中(不要把它显示的时间视为理所当然,但是分析它们和密切注意命中数量,例如。渲染了多少个模板......
如果您的系统增长,您首先可以考虑从其他位置提供静态媒体文件!来到Web服务器我使用lighttpd而不是胖apache做了很多经验,但我想你必须自己评估一下! 还要考虑使用什么数据库后端,在大多数情况下,mysql上的负载比postgres服务器上的负载更大,但也评估最适合你的东西!
答案 1 :(得分:1)
您可以在此处进行一些猜测,但要获得合理的性能估算,您必须自己衡量应用程序的性能。然后,您应该能够大致推断出不同硬件上的性能。
大部分时间瓶颈都是数据库,如果可能的话,你应该获得足够的RAM来保存在内存中。
“Web应用程序”可以涵盖很多不同的东西,我们真的只能在这里猜测。
至于优化,如果它符合您的需要实现一些缓存(例如使用memchached),这可以为您带来巨大的速度提升。