Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
サバフェス戦いの記録
株式会社サイバード
後藤 健
CloudServerFesta2015
サバフェス
戦いの記録
2015/03/26 CloudServerFesta
Commendation Ceremony
まずは
お疲れ様でした!
ありがとうございました!
@gotyoooo
•インフラ、ミドルウェアまわり
•京都人
•TwitterID : gotyoooo
内容
•戦いの記録編
•最終設定編
戦いの記録編
(表彰式LTはこの内容)
チームサーバード
の戦いの記録を話します
メンバー
@gotyoooo
言い出しっぺ
好きなツールはChef
Mさん(twitterやってない)
gotyoooがいつもMySQLで困ったら相談する方
データベースエンジニア
涼しい顔で火を吹いてるDBを助けている姿をよ
く見る
@dekokun
...
事前準備編
これだけ決めてた
設定ファイルへはGit管理GitHubへ
ローカルでtpcc-mysqlいれて
ローカルベンチでCIしようぜ
全部入れて全部試そう
あとは担当を振ってた
「これで勝てる!」
まぁどうなった
第一陣編
直前
直前@dekokunが稼働
ほぼ出来ない事判明
スタート
まぁベンチ回らないよね
でも何故か分からないが
Perconaなら回った
その後はずっと回らない
serviceで管理してなかった
1.前回ご案内したnfsマウントポイントにあるデー
タに対して、自身の構築したDBに一致するデータ
をダウンロードします。
2.ベンチマーク用DBデータに書き戻す前にDBの
停止を行います。
3.DBのデータを...
serviceで管理してなかった
1.前回ご案内したnfsマウントポイントにあるデー
タに対して、自身の構築したDBに一致するデータ
をダウンロードします。
2.ベンチマーク用DBデータに書き戻す前にDBの
停止を行います。
3.DBのデータを...
2015年3月8日 7:15
【サバフェス】第一陣競技期間延長のお知
らせ(3/21 , 3/22)
延長戦編
直前
直前
@dekokun離脱宣言
スタート
MariaDB一本に
まぁベンチ回らない
こんなlogががが・・・
InnoDB: Error: page ?????? log sequence
number ??????
InnoDB: is in the future! Current system log
sequence n...
起動時にib_logファイルがないことに気づく
正しいib_logファイルがないと治らんやん!
起動時にib_logファイルがないことに気づく
正しいib_logファイルがないと治らんやん!
start時/nfs_mountからib_logファイルをcp
起動後すぐに停止し、ib_logfileのサイズを変えた
バージョンのmy.cnfを読...
それでもベンチ回らない
log送ってもらった
あれこれstartで終わってない?
標準出力そのまま(/dev/null…)
外部から実行してないので気づかず
というわけで回った
ちなみにPerconaに変えた
43151.465 TpmC!!!
結局本番ベンチは
数値とれたのは4回
最後に
外部から実行されてんだから
外からも確認すべし
チューニングばっかり
考えてると頭そっちに行かない
寿司食べたい
最終設定編
※あくまで今回用の設定です
不要デーモンを止める
• 以下デーモンをstopし,chkconfigをoffに
• iptables
• ip6tables
• postfix
• acpid
• auditd
• cpuspeed
• haldaemon
• kdump
• m...
limits.conf
• mysql soft nproc 32768
• mysql hard nproc 32768
• mysql soft nofile 65536
• mysql hard nofile 65536
sysctl.conf(1)
• For MySQL parameter
• kernel.sem = 250 32000 100 500
• vm.overcommit_memory=1
• vm.overcommit_ratio=99
• ...
sysctl.conf(2)
• For Network
• net.core.somaxconn = 1024
• net.core.rmem_max = 8388608
• net.core.wmem_max = 6553600
• net...
/etc/profile
• 以下追記
if [ $USER = "mysql" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 32768
ulimit -n 65536
else
ulim...
fusion-io設定(1)
• ブロックサイズ変更
# umount /dev/fioa
# fio-detach /dev/fct0
# fio-format --block-size 4096 /dev/fct0
# fio-attach /de...
fusion-io設定(2)
• ext4ファイルシステム構築・マウント
• inode領域を広げる
• journalを無効化
• xfsより良かった
# mkfs.ext4 -b 4096 -f 4096 -I 256 /dev/fioa
#...
my.cnf設定※Percona5.6
• レギュレーション
• innodb_doublewrite
• innodb_flush_log_at_trx_commit = 1
• Thread Pool
• thread_handling = ...
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
http://www.cybird.co.jp/recruit/
エントリーしてね!
エンジニア募集中!
ありがとうございました。
楽しかったです!!
サバフェス表彰式Lt+α
サバフェス表彰式Lt+α
サバフェス表彰式Lt+α
Upcoming SlideShare
Loading in …5
×

サバフェス表彰式Lt+α

サバフェス表彰式での参加者LT内容にプラス設定内容

  • Login to see the comments

  • Be the first to like this

サバフェス表彰式Lt+α

  1. 1. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. サバフェス戦いの記録 株式会社サイバード 後藤 健 CloudServerFesta2015
  2. 2. サバフェス 戦いの記録 2015/03/26 CloudServerFesta Commendation Ceremony
  3. 3. まずは
  4. 4. お疲れ様でした! ありがとうございました!
  5. 5. @gotyoooo •インフラ、ミドルウェアまわり •京都人 •TwitterID : gotyoooo
  6. 6. 内容 •戦いの記録編 •最終設定編
  7. 7. 戦いの記録編 (表彰式LTはこの内容)
  8. 8. チームサーバード の戦いの記録を話します
  9. 9. メンバー
  10. 10. @gotyoooo 言い出しっぺ 好きなツールはChef Mさん(twitterやってない) gotyoooがいつもMySQLで困ったら相談する方 データベースエンジニア 涼しい顔で火を吹いてるDBを助けている姿をよ く見る @dekokun gotyooooの尊敬する先輩 本職はサーバサイドプログラム(主にPHP) CI厨
  11. 11. 事前準備編
  12. 12. これだけ決めてた
  13. 13. 設定ファイルへはGit管理GitHubへ
  14. 14. ローカルでtpcc-mysqlいれて ローカルベンチでCIしようぜ
  15. 15. 全部入れて全部試そう
  16. 16. あとは担当を振ってた
  17. 17. 「これで勝てる!」
  18. 18. まぁどうなった
  19. 19. 第一陣編
  20. 20. 直前
  21. 21. 直前@dekokunが稼働 ほぼ出来ない事判明
  22. 22. スタート
  23. 23. まぁベンチ回らないよね
  24. 24. でも何故か分からないが Perconaなら回った
  25. 25. その後はずっと回らない
  26. 26. serviceで管理してなかった 1.前回ご案内したnfsマウントポイントにあるデー タに対して、自身の構築したDBに一致するデータ をダウンロードします。 2.ベンチマーク用DBデータに書き戻す前にDBの 停止を行います。 3.DBのデータを書き戻します。 4.DBのデータ権限をmysqlに設定します。 5.DBの起動を行います。 6.ビルドしたtpcc-mysqlに前回ご案内したパラ メータにてベンチマークをします。
  27. 27. serviceで管理してなかった 1.前回ご案内したnfsマウントポイントにあるデー タに対して、自身の構築したDBに一致するデータ をダウンロードします。 2.ベンチマーク用DBデータに書き戻す前にDBの 停止を行います。 3.DBのデータを書き戻します。 4.DBのデータ権限をmysqlに設定します。 5.DBの起動を行います。 6.ビルドしたtpcc-mysqlに前回ご案内したパラ メータにてベンチマークをします。 3/8 2:15
  28. 28. 2015年3月8日 7:15 【サバフェス】第一陣競技期間延長のお知 らせ(3/21 , 3/22)
  29. 29. 延長戦編
  30. 30. 直前
  31. 31. 直前 @dekokun離脱宣言
  32. 32. スタート
  33. 33. MariaDB一本に
  34. 34. まぁベンチ回らない
  35. 35. こんなlogががが・・・ InnoDB: Error: page ?????? log sequence number ?????? InnoDB: is in the future! Current system log sequence number ??????.
  36. 36. 起動時にib_logファイルがないことに気づく 正しいib_logファイルがないと治らんやん!
  37. 37. 起動時にib_logファイルがないことに気づく 正しいib_logファイルがないと治らんやん! start時/nfs_mountからib_logファイルをcp 起動後すぐに停止し、ib_logfileのサイズを変えた バージョンのmy.cnfを読み込むよう
  38. 38. それでもベンチ回らない
  39. 39. log送ってもらった
  40. 40. あれこれstartで終わってない?
  41. 41. 標準出力そのまま(/dev/null…) 外部から実行してないので気づかず
  42. 42. というわけで回った ちなみにPerconaに変えた
  43. 43. 43151.465 TpmC!!!
  44. 44. 結局本番ベンチは 数値とれたのは4回
  45. 45. 最後に
  46. 46. 外部から実行されてんだから 外からも確認すべし
  47. 47. チューニングばっかり 考えてると頭そっちに行かない
  48. 48. 寿司食べたい
  49. 49. 最終設定編
  50. 50. ※あくまで今回用の設定です
  51. 51. 不要デーモンを止める • 以下デーモンをstopし,chkconfigをoffに • iptables • ip6tables • postfix • acpid • auditd • cpuspeed • haldaemon • kdump • messagebus • quota_nld • rdisc
  52. 52. limits.conf • mysql soft nproc 32768 • mysql hard nproc 32768 • mysql soft nofile 65536 • mysql hard nofile 65536
  53. 53. sysctl.conf(1) • For MySQL parameter • kernel.sem = 250 32000 100 500 • vm.overcommit_memory=1 • vm.overcommit_ratio=99 • vm.swappiness=0 • kernel.msgmni=1024
  54. 54. sysctl.conf(2) • For Network • net.core.somaxconn = 1024 • net.core.rmem_max = 8388608 • net.core.wmem_max = 6553600 • net.ipv4.tcp_rmem = 4096 87380 8388608 • net.ipv4.tcp_wmem = 4096 65536 6553600 • net.ipv4.tcp_fin_timeout = 5 • net.ipv4.ip_local_port_range = 1024 65535 • net.ipv6.conf.all.disable_ipv6 = 1 • net.ipv6.conf.default.disable_ipv6 = 1 • 非同期I/Oリクエスト数上限 • fs.aio-max-nr = 1048576
  55. 55. /etc/profile • 以下追記 if [ $USER = "mysql" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 32768 ulimit -n 65536 else ulimit -u 32768 -n 65536 fi fi
  56. 56. fusion-io設定(1) • ブロックサイズ変更 # umount /dev/fioa # fio-detach /dev/fct0 # fio-format --block-size 4096 /dev/fct0 # fio-attach /dev/fct0
  57. 57. fusion-io設定(2) • ext4ファイルシステム構築・マウント • inode領域を広げる • journalを無効化 • xfsより良かった # mkfs.ext4 -b 4096 -f 4096 -I 256 /dev/fioa # tune2fs -o journal_data_writeback /dev/fioa # tune2fs -O ^has_journal /dev/fioa # e2fsck -f /dev/fioa # debugfs -R features /dev/fioa # mount -o defaults,noatime,nodiratime,nobarrier,data=writeba ck -t ext4 /dev/fioa /fioa
  58. 58. my.cnf設定※Percona5.6 • レギュレーション • innodb_doublewrite • innodb_flush_log_at_trx_commit = 1 • Thread Pool • thread_handling = pool-of-threads • thread_pool_size = 32 • thread_pool_oversubscribe = 32 今回他はあまり詰め切れなかったた め公開はここまで
  59. 59. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. http://www.cybird.co.jp/recruit/ エントリーしてね! エンジニア募集中!
  60. 60. ありがとうございました。 楽しかったです!!

×