1

613MB メモリの Amazon EC2 マイクロ インスタンスで mysql を設定しようとしています。このインスタンスは mysql の実行にのみ使用されるため、できるだけ多くのメモリを使用したいと考えています。別のホストで実行されている同じ DB の別のインスタンスがあるため、結果を簡単に比較できます。

元のデータベースで平凡なクエリを実行すると、3 秒もかかりませんでした。EC2 で変更する前は 46 秒かかりましたが、設定を変更した後は、同じクエリに 4 秒しかかかりませんでした。ただし、同じクエリをもう一度実行すると、永遠にかかるようです。

これは、MySql my.cnf で使用する設定です。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

innodb_buffer_pool_size = 128M
query_cache_size = 128M
query_cache_limit = 8M
key_buffer_size = 128M

table_open_cache = 2048
table_definition_cache = 2048
read_buffer_size = 64M
join_buffer_size = 64M
sort_buffer_size = 64M
myisam_sort_buffer_size = 64M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

すべてinnodbを使用する必要があるため、myisamパラメーターを含める必要はないと思いますが、必要な場合に備えて追加のメモリを与えました。

最初の実行では遅く、その後は速くなれば論理的ですが、これは非論理的に思えます。

どんなアイデアでも大歓迎です。

4

2 に答える 2

1

EC2microのパフォーマンスは一般的にひどいものです。同じ価格でLinode/Rackspaceを入手できます。

于 2012-04-18T14:10:03.197 に答える
0

Amazon Micro インスタンスは、「追加のサイクルが利用可能になると、CPU 容量を短期間で機会に応じて増加させる可能性があります。」

これは、X 単位の計算が割り当てられていることを意味しますが、他のマイクロ インスタンスがその割り当てを使用しておらず、インスタンスが自動的にそれを清掃している場合、X + N にジャンプする可能性があります。

これが、パフォーマンスの変動が見られる理由である可能性があります。

于 2013-07-07T13:06:42.707 に答える