早くなったのか? MySQL5.5から5.6へのアップグレード事例

2,145 views

Published on

MySQL 勉強会 in 大阪(第5回) で発表頂いた、株式会社ベストリザーブ様の事例資料です。
http://atnd.org/events/44157

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,145
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
9
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

早くなったのか? MySQL5.5から5.6へのアップグレード事例

  1. 1. 早くなったのか? 5.5から5.6への アップグレード事例 株式会社ベストリザーブ 貫井 剛 高橋 良明
  2. 2. システム概要 Site R Master DB Slave DB Master DB Slave DB Cycle Crawler Site J Web/App Server Site Q Web/App Server Master DB Slave DB Master DB Browser Slave DB Action Crawler Site Y Site B HTML 取得・解析 データ登録 リクエスト データ登録 レプリ ケーション データ検索 情報閲覧
  3. 3. システム規模(クロール編) サイクルクロール(以下の規模を約20時間でデータ収集)  5サイト  120日分  のべ10万ホテル  のべ150万プラン  500万ページ  100プロセス アクションクロール  クロール実施 顧客の約1割弱  クロール実施 120プロセス 株式会社ベストリザーブ
  4. 4. システム規模(DB編)  CPU : Intel Xion 2.8GHz(4Core)  Memory : DDR3 16Gb  Strage : SATA3 RAID1+0  DB File : 40Gb/月 ×40ヶ月  Red Hat Enterprise Linux 6 同じスペックのサーバが8台、Master・Slaveで4セットのDB サーバを構成 ホテルの所在地などを元にして、どのサーバにデータを保 存するのかはアプリケーション側で選定 株式会社ベストリザーブ
  5. 5. アップグレードの手順 1. MySQLの停止 2. バックアップの作成 3. アップグレードバイナリ環境への移行 4. 設定ファイルの更新 5. MySQLの起動 6. mysql_upgradeの実行 7. MySQLの停止 8. MySQLの起動 株式会社ベストリザーブ
  6. 6. アップグレードの注意点 当社でのアップグレード時の詰まった点  OS環境 glibc のバージョンが2.5以上が必要  新機能に対するパラメータ レプリケーションのチェックサム機能 (binlog_checksum)  既存のパラメータのデフォルト値 テーブル単位にデータファイルを作成 (innodb_file_per_table)  廃止されるパラメータ InnoDBの内部データなどを保持するための領域 (innodb_additional_mem_pool_size) 株式会社ベストリザーブ
  7. 7. Before⇔After 1 サーバステータス Master DB Status Connections Before(5.5) After(5.6) Difference 29,989 33,180 3,191 Bytes_received 212,258,673 267,941,567 55,682,894 Bytes_sent 625,357,151 1,091,448,872 466,091,721 Innodb_data_read 437,479,869 1,106,519,440 669,039,571 Innodb_data_written 482,531,551 1,266,796,277 784,264,726 Before(5.5) After(5.6) Slave DB Status Difference Innodb_data_read 410,713,043 382,077,017 -28,636,026 Innodb_data_written 株式会社ベストリザーブ 618,098,477 952,248,854 334,150,377
  8. 8. Before⇔After 2 バッファの使用率とヒット率
  9. 9. Before⇔After 3 オプティマイザ 5.6で導入された「Index Condition Pushdown Optimization(ICP)」 が効くようになり同じ SQLでも実行時間の短縮 されました。 結果は如何に! 株式会社ベストリザーブ select daily.01_stock_room, daily.01_stock_room_status, daily.01_discount_price, daily.01_sales_status, daily.31_stock_room, daily.31_stock_room_status, daily.31_discount_price, daily.31_sales_status, from t_plan_base as base inner join t_plan_daily_history_201307 as daily on base.supplier_hotel_id = daily.supplier_hotel_id and base.capacity = daily.capacity and base.room_plan_id = daily.room_plan_id where base.supplier_hotel_id = ? and base.capacity =? and base.active_status =1 and daily.active_status = 1 and daily.check_dtm <= '2013-07-31 09:00:00' and ifnull( daily.next_check_dtm, '2013-07-31 09:00:00') >= '2013-07-31 09:00:00'
  10. 10. Before⇔After 4 実処理時間 Proccess デイリーレポート (6万件のバッチ処理) 最低価格一覧 販売履歴 株式会社ベストリザーブ Before(5.5) After(5.6) 864秒 740秒 6秒 4秒 12秒 8秒 Difference
  11. 11. 株式会社ベストリザーブ
  12. 12. 質疑応答 アップグレードにかかった作業時間は? 早くなる以外のメリットは? MySQL5.6って本当にイイの? 今後MySQLに期待することは? ベストリザーブってロンゲとスキンしか居ないの? 株式会社ベストリザーブ
  13. 13. 宣伝:ベストリザーブ http://www.bestrsv.com/  ハイランクホテル プレミアムなホテルを リーズナブルなプライス でご紹介  お天気保険 雨が降ったら宿泊料金全 額返金!  ポイントキャンペーン中 もれなく300ポイント贈 呈!実質300円引きで泊 まれちゃう!泊まった後 にも特別ボーナスが! 株式会社ベストリザーブ
  14. 14. 参考資料など  Release Notes http://dev.mysql.com/doc/relnotes/mysql/5.6/en/index.html  Upgrade手順 http://dev.mysql.com/doc/refman/5.6/en/upgrading-downgrading.html  5.5から5.6へのアップグレードに関する記載 http://dev.mysql.com/doc/refman/5.6/en/upgrading-from-previousseries.html  レプリケーションに関する注意点 http://dev.mysql.com/doc/refman/5.6/en/replication-upgrade.html  サーバステータスの説明 http://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html 株式会社ベストリザーブ
  15. 15. ご静聴ありがとうございました。

×