【问题标题】:How to choose server for production release of my Django application?如何为我的 Django 应用程序的生产版本选择服务器?
【发布时间】:2011-03-08 19:54:16
【问题描述】:

我的公司正处于一些(真棒:))Web 应用程序开发过程的最后阶段。这个应用程序将作为在线服务提供给(希望)一些相当数量的用户。这是迄今为止我们最大的 django 版本,我们正准备发布一些关于部署的问题。

Q1:如何根据预测的 X 用户数/Y 每分钟点击次数或其他因素确定所需的服务器参数?

Q2:什么托管解决方案(共享/vps/专用)值得考虑?

Q3:首先可以进行哪些优化?

我知道这是非常主观的,并且取决于站点的大小、代码质量和其他因素,但我对您在 django(而不仅仅是 django)部署方面的经验非常感兴趣。欢迎任何提示、链接、建议。提前致谢。

【问题讨论】:

    标签: django performance optimization deployment


    【解决方案1】:

    您希望拥有的托管解决方案还取决于您自己想占用多少服务器(从升级等到备份...),您应该决定是要承担责任还是留给某人别的。

    我认为您只能通过估计负载的测试来真正确定应用程序中的必要要求和瓶颈!尝试模拟尽可能多的请求......如你所愿 - 考虑缓存(其中 memcached 是你拥有的最佳选择)!如果您尝试缓存内容,一个很棒的工具是 django 调试工具栏 (http://github.com/robhudson/django-debug-toolbar),它还可以向您显示您有多少数据库命中(不要认为它显示的时间是理所当然的,但要分析它们并保持注意点击次数)和例如。渲染了多少模板......

    如果您的系统增长,您可以首先考虑从其他位置提供静态媒体文件!来到网络服务器,我使用 lighttpd 而不是胖 apache 获得了很好的体验,但我想你必须自己评估一下! 还要考虑使用什么数据库后端,在共享环境中,在大多数情况下,mysql 上的负载比 postgres 服务器上的负载大,但还要评估最适合您的数据库!

    【讨论】:

      【解决方案2】:

      您可以在这里进行一些猜测,但要获得一半合理的性能估计,您必须自己衡量应用程序的性能。然后,您应该能够大致推断不同硬件上的性能。

      大多数情况下,瓶颈是数据库,如果可能,您应该获得足够的 RAM 以将其保存在内存中。

      “Web 应用程序”可以包含这么多不同的东西,我们真的只能在这里猜测。

      至于优化,如果它适合您的需要,可以实施一些缓存(例如使用 memchached),这可以给您带来巨大的速度提升。

      【讨论】:

        猜你喜欢
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        • 2016-02-29
        • 1970-01-01
        • 2023-04-01
        • 2019-05-19
        • 2017-10-22
        相关资源
        最近更新 更多