質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Firebird

Firebirdは、オープンソースのリレーショナルデータベース管理システムです。オープンソースとしてBorland社が公開したInterBaseから派生したもので、MGAによる高度なトランザクション管理機能を持ちます。

Q&A

解決済

3回答

2806閲覧

CentOS6 同スペック、同構成のサーバーでデータベースの書込時間に差が大きい

HisashiTanaka

総合スコア26

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Firebird

Firebirdは、オープンソースのリレーショナルデータベース管理システムです。オープンソースとしてBorland社が公開したInterBaseから派生したもので、MGAによる高度なトランザクション管理機能を持ちます。

0グッド

2クリップ

投稿2016/08/08 02:01

WEB, データベースで利用しているサーバーのディスクの残りが減ってきたので、スペアで用意しているサーバーに移行しました。アプリケーション、データは同じです。

< 旧機 >
HP ML110 G7
CPU : E3-1240
Mem : 12GB
HD : SATA 1000GD 7200rpm 32MBキャッシュ RAID1
CentOS 6.8
ext4

< 新機 >
HP ML110 G7
CPU : E3-1240
Mem : 16GB
HD : SATA 2000GD 7200rpm 64MBキャッシュ RAID1
CentOS 6.8
ext4

< my.cnf どちらも同じ >

関係ありそうに思った部分です。

innodb_buffer_pool_size=4096M
max_allowed_packet = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 16M
innodb_log_file_size = 1024M
innodb_log_buffer_size = 1M

RAIDはどちらもhpのユーティリティを使ってハードウェアに導入しています。

データベースはFirebird2.5, MySQL5.7を使ってまして、SELECTについては差異はないでが、大量のレコードを更新する時に大きな差異が発生しています。処理時間比2から3倍程度。

load average 旧機がアイドルな時は常に1以下なのに対し、新機はアイドルな時が、1.3程度、高負荷時は差が大きいです。

vmstat 大きな差はないです。

ddでの書込速度を計ってみたところ新機の方が少し良い結果です。

自分で調べられるところは調べたつもりですが、原因、対処方法等、わかりますでしょうか?

ベンチマークが足りないので、何とも言えないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2016/08/09 13:12

ext4 のマウントオプションに違いはありませんでしょうか? noatime, nodiratime とか。
HisashiTanaka

2016/08/10 05:05

fstabにつけるオプションでしょうか? どちらも特につけてませんので、同じだと思います。
TaichiYanagiya

2016/08/10 06:33

ありがとうございます。そうですか、ハズレでした。
guest

回答3

0

●ハードディスク ボトルネックの疑い
プラッタ数などにも依存するので一概には言えませんが、ハードディスクがボトルネックになっている可能性ありです。
DDコマンドだとシーケンシャルライトしか確認できないかも?なので、サードパーティツールを使用してランダムライトの値を確認してみては如何でしょうか。
bonnie++ とかで確認できそうです。
あとは、各ベンダのHD性能を評価しているサイトもあるので、確認してみては如何でしょうか?

●OS カーネルパラメータ 他OS設定
OSのカーネル関係の設定に差異がないでしょうか。
OSの個体設定(IPとかホスト名とか)以外は同一なのでしょうか?

●MySQL 各種パラメータ
新規のサーバの設定を変更してもよいのであれば、MySQLのwrite_cache等のパラメータチューニングをしてみては如何でしょうか。

投稿2016/08/08 02:36

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HisashiTanaka

2016/08/08 06:32

早速のご回答ありがとうございます。 >●ハードディスク ボトルネックの疑い yumでbonnieをインストールして調べてみました。 まだ使い方がよくわかりませんが、 サイズは2GBで測ってます。シーケンシャル、ランダム共に新しい方が劣ってます。 < OLD > Chiaki 2G 1031 99 84361 6 88358 6 +++++ +++ +++++ +++ +++++ +++ 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ Latency 11664us 315ms 128us 1378us 14us 91us Latency 151us 307us 571us 114us 91us 25us < NEW > Chiaki 2G 962 97 83574 9 58437 5 4042 91 +++++ +++ 1352 15 16 11585 10 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ Latency 18932us 133us 149us 4544us 138us 73us Latency 180us 659us 697us 135us 10us 126us >●OS カーネルパラメータ 他OS設定 この辺のことは何もわかりませんので、止まると怖いので何も行ってません。 新機のインストール後、旧機のルート以下のfstab以外のファイルをそっくりコピーしてます。旧機はバックアップ直前にyumでupdateしています。 >●MySQL 各種パラメータ 今日innodbのデータベースでバルクインサートで大量にinsertする処理がありましたので、旧機でも同じ処理を行いましたところ、新機で60秒、旧機で55秒でした。 夜中にmyisamでもっと多くのinsertをする処理があり、それが大きく劣ってました。 key_buffer_sizeがデフォルトのままでしたので、256Mにしてみました。 ハードディスクの個体差とかありますでしょうか?
over

2016/08/08 06:45

> サイズは2GBで測ってます。シーケンシャル、ランダム共に新しい方が劣ってます。 これがすべての問題ではないでしょうか? 同じハードディスクにするか、上位スペックのハードディスクにすれば改善されるような気がします。 DDコマンド書き込みで新機のほうが早いのにシーケンシャルライトは新機のほうが遅いのは気になりますね。 プラッタに対して容量が多いほうがI/O性能が良いとあります。 従いまして以下の構成であれば性能劣化も納得いきます。 新機ハードディスク プラッタ数4枚 1枚500GB 旧機ハードディスク プラッタ数1枚 1枚1000GB > 旧機のルート以下のfstab以外のファイルをそっくりコピーしてます。 これ問題ではないでしょうか? fstab以外にもハードウェア固有の情報を持ったファイルがあります。 お作法に従ってリストアすべきと考えます。 > 旧機はバックアップ直前にyumでupdateしています。 この時点で新機と差分がでていますが、サービスに関わるパッケージのバージョンは変わっていないのでしょうか? update前の性能試験で差がでているのであれば、これが問題ではないと切り分けられると思いますが。
HisashiTanaka

2016/08/08 09:52

ご回答ありがとうございます。 >これがすべての問題ではないでしょうか? >同じハードディスクにするか、上位スペックのハードディスクにすれば改善されるような気がします。 以前SeaGateのディスクが2回壊れたことがあり、東芝か日立だけを購入候補としてましたが、低価格なのは性能も低いということでしょうか? WD2004FBYZ というのが評判が良さそうなので、替えてみようと思います。 https://www.ark-pc.co.jp/i/13140166/ 他に待機させてるスペア機はないので、タイミング、方法を考えないといけませんが。 ヤフオクで中古購入とかも考えてます。 ハード自体が昔の型番(2011年)なので、2TBを想定しておらず、性能が発揮出来ないとかは考えられますでしょうか? > fstab以外にもハードウェア固有の情報を持ったファイルがあります。 以前、32bitのCentOS5をKVMのゲストに変えた時、うまくいったので行いました。 >この時点で新機と差分がでていますが、サービスに関わるパッケージのバージョンは変わっていないのでしょうか? 旧機も新機もMySQLは5.7.14, Firebirdは2.5.5, Tomcat, JDBCも全て同じなので問題ないと思うのですが。
over

2016/08/09 00:09

> 以前SeaGateのディスクが2回壊れたことがあり、東芝か日立だけを購入候補としてましたが、低価格なのは性能も低いということでしょうか? WD2004FBYZ というのが評判が良さそうなので、替えてみようと思います。 スペックを確認したうえで購入すべきと考えます。 > 他に待機させてるスペア機はないので、タイミング、方法を考えないといけませんが。 ヤフオクで中古購入とかも考えてます。 ディスクは消耗品です。使用履歴があればそれだけ故障率も多くなります。導入サイトの運用ポリシーと相談して決定すべきと考えます。 > 以前、32bitのCentOS5をKVMのゲストに変えた時、うまくいったので行いました。 何を以て「うまくいった」のでしょうか? ログ等を確認して正常だと判断したということでしょうか? > 旧機も新機もMySQLは5.7.14, Firebirdは2.5.5, Tomcat, JDBCも全て同じなので問題ないと思うのですが。 そうであれば問題ないかもしれませんが、ソフトウェア差分の疑念は取り払えないと思います。
over

2016/08/09 00:10

すこし気になりました。 > RAIDはどちらもhpのユーティリティを使ってハードウェアに導入しています。 RAIDボードは新旧機どちらも同じものですか?
HisashiTanaka

2016/08/09 03:32

ご連絡ありがとうございます。 >RAIDボードは新旧機どちらも同じものですか? オンボードのもので同じです。
HisashiTanaka

2016/08/09 03:44

over様 ご回答ありがとうございます。 >スペックを確認したうえで購入すべきと考えます。 amazonや価格.comでスペックを確認してみましたが、プラッターの枚数が載ってないのと、amazonの画像が、6TBも2TBも同じ画像のようなので、今度、店頭で詳しい人に聞いてみようと思います。 >何を以て「うまくいった」のでしょうか? >ログ等を確認して正常だと判断したということでしょうか? cronの処理状況、Apache, Tomcat, データベースの動作、接続確認などです。 free, loadaverage, dfのログなどもしばらくの間チェックしました。
guest

0

自己解決

沢山の回答いただき、ありがとうございます。
その後、KVMゲストのFirebirdがレストア出来ないなどあり、他にも不具合が多く、新機での運用は諦めました。中古品だったので元々使うべきではなかったと思います。新品をしっかり調査してから出直します。お騒がせしました。

投稿2016/08/13 04:36

HisashiTanaka

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

巨大データとなるとなかなか例示ができないと思いますので
実データに基づく検証ができず、ほぼ当てずっぽうになりますが
こちらを参考に高速化は図れるかと思います
MySQLを含む多くのRDBでは更新データは直接テーブルに書き込まれるわけではなく
遅延書き込みをするため、単にHDDのデータ転送速度のみで測れない部分も
あるのかもしれません

またハードウェアraidということで関係ないかもしれませんが、
通常raidではHDDの容量に合わせてメモリも相当に消費するので
万が一swapが発生していれば極端に速度は低下する可能性はあると思います

投稿2016/08/08 02:27

yambejp

総合スコア114581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HisashiTanaka

2016/08/08 07:05

ご回答ありがとうございます。 overさんへのコメントでは、innodbでの差異は少ないのですが、別のバルクインサートを使う処理(約9万件のマスタの入れ替え)を比べてみましたところ、 my.cnfでの設定は同じなのですが、旧機で6秒なのが、新機で10秒でした。myisamのデータベースはほとんど参照専用で更新は大きな更新は深夜、早朝に行ってまして、直す必要は少ないですが、しばらく更新結果を見ていきます。 Firebirdの差異が大きく、チューニング項目少ないので、一度バックアップ、レストアしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問