【问题标题】:Testing my website for database performance & traffic handling [closed]测试我的网站的数据库性能和流量处理[关闭]
【发布时间】:2015-08-12 14:04:12
【问题描述】:

我正在开发一个在 python3.4 上使用 Django1.7 以及 MySql 作为数据库引擎的网站。在接下来的 15-20 天内,我计划对其进行测试。该网站在功能和复杂性方面类似于linkedin,我预计在接下来的 6 个月内将获得大约 20-30,000 个用户。 我只是在我的网站开发过程中了解了 MySql。我正在使用 Django-debug-toolbar 并尝试减少查询时间并减少连接数。我有几个问题:

  1. 什么工具可以用来创建http请求,自动填充数据库,也可以查询各种页面。

  2. 考虑到来自多个用户的请求数量不断增加,django-debug-toolbar 是否足以进行分析和优化。

  3. 我是否应该致力于减少数据库命中的数量或 django 将缓存的查询集的大小,以及 RAM 的使用将如何影响网站的性能。

考虑到我之前没有数据库管理和处理网站的经验,我应该如何确定网站的性能是否达到标准。请分享最佳实践,因为我很陌生。

【问题讨论】:

    标签: mysql django database query-optimization web-testing


    【解决方案1】:

    影响 SQL 性能的最大因素是您使用的表中的行数。您应该弄清楚如何将 50,000 个假用户和 100 万个假节点加载到您的测试数据库中。

    然后猜测哪些网页浏览量最常见。在网上找到一个免费的负载测试工具(有很多),然后用它在您的服务器上重击该页面。

    找出哪些查询很慢。添加适当的索引,或者如果必须的话,重新设计您的数据库,让这些查询变得更快。

    然后猜测您的第二受欢迎的综合浏览量并重复。继续前进,直到时间用完为止。

    请记住,这是猜测。随着您的服务在用户中的增加,您需要密切关注您的真实用户喜欢的网页浏览量,并密切关注那些缓慢的查询。

    如果您按照计划的速度添加用户,这将在您运营的第一年占用您相当大的一部分时间。

    阅读一个名为http://use-the-index-luke.com/的网站

    【讨论】:

    • 感谢先生您的伟大建议和您建议的有条不紊的方法。我已经开始阅读有关索引的内容。但是,我想就我应该使用哪些特定工具获得更具体的建议,安装在具有 1 gb RAM 的 ubuntu 服务器上的 apache2 是否能够处理负载,我是否应该尽量减少数据库命中或减少在内存中加载的查询集。为此,我暂时保留这个问题。
    • 恕我直言,像您提出的问题(多少 RAM?Apache 或其他服务器?结果集缓存?等等)是您只能从您的 Web 应用程序的经验中学习的东西。 正如我所描述的,负载测试只是一种加速体验的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多