【问题标题】:How can I maximize performance on EC2 with Django/Apache/mod_wsgi/MySQL?如何使用 Django/Apache/mod_wsgi/MySQL 最大化 EC2 的性能?
【发布时间】:2012-08-01 01:49:13
【问题描述】:

我正在使用 Ubuntu 12.04 LTS 的 EC2 m1.medium 实例(3.75 Gb 内存、2 个 EC2 计算单元、410 Gb 实例存储、中等性能)上运行 Django 驱动的站点。我的 EC2 实例上的 MySQL 设置如下(来自 /etc/mysql/my.cnf):

key_buffer = 16M
max_allowed_pa​​cket = 16M
线程堆栈 = 192K
thread_cache_size = 8
query_cache_limit = 1M
query_cache_size = 16M

来自 /etc/apache2/sites-available/mysite.com 的 mod_wsgi 设置:

WSGIDaemonProcess mysite.com user=me group=me processes=7 线程=20 最大请求数=1000000

根据我的配置,我可以设置的最大进程/线程/请求数是多少?我尝试了一些值,但它们导致 MySQL 崩溃。可以将 MySQL key_buffer 设置为 0.75Gb(EC2 实例上 3.75Gb RAM 的 20%)吗?提前致谢!

【问题讨论】:

    标签: mysql django apache mod-wsgi ubuntu-12.04


    【解决方案1】:

    您是否对您的所有网站进行了实时监控,以便了解它的实际用途?观看我的 PyCon 演讲,您希望会意识到这一切都取决于您的特定应用程序,而我们对此一无所知。

    http://lanyrd.com/2012/pycon/spcdg/

    【讨论】:

      【解决方案2】:

      您的所有 MySQL 变量似乎都非常低。首先最重要的是:您使用的是什么存储引擎? Key_buffer_size 只对 MyISAM 存储引擎有影响。

      如果您使用的是 MyISAM,请执行以下操作:

      > select sum(index_length) / 1024 / 1024 as index_size_MB from information_schema.Tables where Table_schema = 'knagy' and Engine = 'MyISAM';
      +---------------+
      | index_size_MB |
      +---------------+
      |    0.16992188 |
      +---------------+
      

      这将显示您的索引有多大。如果您有足够的 RAM,您应该将此值大致设置为 key_buffer_size。但不要将其增加到超过可用 RAM 的 50-60%。

      如果您使用 InnoDB,请尝试将 innodb_buffer_pool 设置为带索引的数据集的大小:

      > select sum(index_length + data_length) / 1024 / 1024 as innodb_MB from information_schema.Tables where Table_schema = 'knagy' and Engine = 'InnoDB';
      +--------------+
      | innodb_MB    |
      +--------------+
      | 403.04687500 |
      +--------------+
      

      您可以将其设置为最多 80% 的可用 RAM,当然要考虑其他应用程序的内存使用情况。

      只有通过这些更改之一,您才能获得显着的性能提升。

      如果您看到 threads_created 状态变量快速增加,您也可以将 thread_cache_size 增加大约 30-50 或更多。

      当然还有很多进一步的优化,但这将使您获得大约 80-90% 的可能最大性能。

      【讨论】:

        猜你喜欢
        • 2015-08-27
        • 2012-04-21
        • 2011-07-14
        • 2012-03-17
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        相关资源
        最近更新 更多