CloudStackのチューニングしてみた

Apache CloudStack Advent Calendar 2015の12月9日の分を担当します。

80人くらいが同時にインスタンスを建てようとすると、APIがロック?と言うか、
画面更新などはできるが実行結果が帰ってこない状態(極端に遅いだけ?)になりました。
解決方法がよく分からず、#CloudStack のハッシュタグを付けてツイートしたら解決方法を教えてくださったので、
メモ程度ですが、残しときます。

※時間がなく、今この値で動かないからこんぐらいにしとけば動くだろう っと言う適当さです。

環境
CentOS 6.6
CloudStack 4.4.4
java version “1.7.0_85”
mysql Ver 14.14

とのことなので、Performance Test Execution for 4.2 – Apache Cloudstack – Apache Software Foundationを見ながらチューニング

とりあえず、MySQLから
MySQLTunerを使い基本的なチューニング

    query_cache_size (>= 8M)
    join_buffer_size (> 128.0K, or always use indexes with joins)
    thread_cache_size (start at 4)
    table_open_cache (> 64)
    innodb_buffer_pool_size (>= 506M) if possible.
    innodb_log_buffer_size (>= 1M)

MySQLTunerの結果を見つつwikiに乗ってるmy.cnfをにらめっこしつつ設定を変えてく

一部抜粋

innodb_buffer_pool_size = 1024M
innodb_log_buffer_size = 4M
key_buffer_size = 512M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M

slow_query_log_file = /var/lib/mysql/slow-queries.log
long_query_time = 5
max_heap_table_size = 2048M
query_cache_size = 0
thread_cache_size = 4

あとはtomcatのチューニング
どこ変更したか覚えてないので何となくで書きます…
/etc/cloudstack/management/tomcat6.conf
JAVA_OPTS の -Xms2g -Xmx4g とか  -XX:PermSize=1024m -XX:MaxPermSize=1024m とか追加した気がします
/etc/cloudstack/management/server-nonssl.xml のなかのmaxThreadsとか変更しました

【java チューニング】とか【tomcat チューニング】でググッて出てきたのを変更しました

設定変更後

service cloudstack-management restart

でcloudstackを再起動させて起動確認

結果
一斉にインスタンスを作ると【インスタンスの作成エラー】的なエラーが出るものの、インスタンス一覧の画面に戻るときちんと作成されてました。
一斉にインスタンスが作れるのを確認できたのでおkとしました。

時間がなく「今この値で動かないからこんぐらいにしとけば動くだろう」って言う感じのチューニングでしたが、
次はちゃんとログなどにらめっこしつつ論理的にチューニングしていきたいです。(小並感

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です