ようやく24コアのマシンでTransactdのベンチマークを取ることができました。
Xeon E5-2697 V2
2.7GHz 24コア48スレッドの物理マシンです。32または36コアでできれば良かったのですが、お借りできたこのマシン*1でベンチマークを行いました。
結果はタイトルの通りで、パフォーマンスの改善されたMySQL
5.7.7にて驚きの117万QPSを記録しました。
…
MySQL5.6でONLINE
DDLが強化されて、テーブルの変更も多くのケースではオンラインで処理出来る為、深夜のメンテナンスが必須では無くなりました。
もちろんサーバーの負荷やユーザーの利用状況によっては、やはり深夜の時間帯でのメンテナンスが安心だというケースもまだあるとは思いますが、
オンラインでユーザーへのサービスを停止せずに、メンテナンスが出来るという選択肢は非常に重要だと思います。
ONLINE DDL 5.6での拡張(参考)
http://thinkit.co.jp/story/2013/11/19/4670/page/0/1
5.7ではまた追加で、ONLINEでのメンテナンスが出来る選択肢が増えています。
…
今までは
mysql56 1> SELECT @@pseudo_thread_id;
+--------------------+
| @@pseudo_thread_id |
+--------------------+
| 3 |
+--------------------+
1 row in set (0.00 sec)
mysql56 1>SELECT get_lock('yoku0825', 1);
+-------------------------+
| get_lock('yoku0825', 1) |
+-------------------------+
| 1 |
+-------------------------+
1 row in set (0.02 sec)
mysql56 2> SELECT is_used_lock('yoku0825');
+--------------------------+
| is_used_lock('yoku0825') |
+--------------------------+
| 3 |
+--------------------------+
1 row in set (0.00 sec)
こんなロックを取った状態で次のロックを取ると
mysql56 1> SELECT get_lock('yoku08253', 1);
+--------------------------+
| get_lock('yoku08253', …[さらに読む]
MySQL
5.7.6から、JOINした時とかに作る暗黙のテンポラリーテーブルでMemoryストレージエンジンで収まらなくなった時に固定化するテンポラリーテーブル(Created_tmp_disk_tablesがカウントアップされるアレ)のストレージエンジンがInnoDBになった。
MySQL :: MySQL 5.7 Reference Manual :: 8.4.4 How
MySQL Uses Internal Temporary Tables
MySQL :: MySQL 5.7 Reference Manual :: 5.1.4
Server System Variables
テンポラリーテーブル用(こっちはCREATE TEMPORARY …
MySQL5.7にてレプリケーションに新たなオプションが加わったので、
ここで軽くご紹介させて頂きます。
今回は、以下の2点のみ検証してみました。
1. マルチスレッドスレーブ(同一スキーマ)
– 全体的なパフォーマンス次第ですが、トランザクションを並列して実行可能。
レプリケーションのパフォーマンスが向上します。
2. 動的フィルタリング
– オンライン処理増えると、メンテンナンス時間の制限が減らせてますね。
検証、MySQL Version
root@localhost [REPLI]> select @@version; +--------------+ | @@version | +--------------+ | 5.7.7-rc-log | +--------------+
以下は、また時間見てご紹介させて頂きます。
■ …
[さらに読む]
先日は、共通テーブルスペース(Generated Tablespace)の紹介をさせて頂いたので、
5.7でより細かく設定出来るようになった
undo tablespaceとInnoDB temporary table tablespaceの設定
を紹介してみます。インスタンスの初期設定のタイミングで設定する必要がある為、
出来るだけインスタンスを構築する前にファイルパスなどの設計も行って頂ければ宜しいかと思います。
※まだ、GAになっていないのでRC(リリース候補)での確認のみなので、実際に本番環境で利用する場合は事前検証お願い致します。
■ Separate UNDO tablespace
…
Resizing the InnoDB Buffer Pool Online
MySQL5.7.5DMRからオンラインで、InnoDB Buffer
Poolのサイズを変更出来るようになっています。他の商用データベースでも同じ機能があり、運用において数回程度実行した事がありますが、
正直利用する頻度はそれ程多く無いかと思いますが, “Nice to
Have”と言った機能になるでしょうか。いざという時に、インスタンスを再起動せずに変更出来れば色々と凌げる場面もあるかと思います。
―――― 留意点 ―――― 抜粋:8.9.1.1 Resizing the InnoDB Buffer Pool
Online
When initiating a resizing operation, the operation does not
start until all active transactions are completed. Once the
resizing operation is in …
MySQL5.6ではinnodb_file_per_tableがDefaultでテーブル毎にテーブルスペース(ファイル)が作成されますが、MySQL5.7.6
DMRからは、CREATE TABLESPACEステートメントによって、
複数テーブルで共有出来るテーブルスペースが作成出来るようになりました。また、Defaultデータディレクトリーとは別のパスにテーブルスペースを作成出来るので、
負荷が高いテーブルなどをSSDなどに配置するなど柔軟に対応することが可能になります。Oracle(テーブルスペース)やMS
SQL(ファイルグループ)に関しては、
以前から同様に指定出来ますが、オープンソースデータベースのMySQLは5.7になり、更にそれらの商用データベースと同様の機能も利用出来る汎用性を備えたデータベースになってきました。
…
どのようなシステムにも完全が無いように、
Webサイトのセキュリティに気を付けてコーディングしたり、セキュリティ診断しながら運用しても、
どこかしら運用している中でセキュリティ対策漏れが出て来てしまう事が往々にしてあります。
また、それらのセキュリティ問題は、社内システムに関しても同様です。
個人情報を管理しているデータベースや企業秘密情報を管理するデータベースに関しては、
IPSやFW機能などのアプライアンスなどでカバーしてくれる製品もありますが、
非常に高価なものが多いです。本日、検証し共有させて頂くMySQL Enterprise
Firewall機能に関しては、
White List方法(2015年4月現在)を用いたデータベース側で不正アクセスをブロックする
…
5.7.6 DMRではutf8mb4でのFTインデックスの作成が出来ませんでしたが、
5.7.7 RCで以下のバグ修正が行われたので、基本的なmecab設定をMySQL5.7.7RCにて確認。
今回のリリースで、5.7はRC(リリースキャンディデート)になったので、次のバージョンでGAになり色々な用途で使えるようになりそうです。
Changes in MySQL 5.7.7 (2015-04-08, Release
Candidate)
InnoDB: The InnoDB MeCab full-text parser plugin now supports the
eucjpms,
cp932, and utf8mb4 character sets. (Bug #20534096)
直接関係ないですが、5.7.7からはInnoDBのDefaultファイルフォーマットがBarracudaに変更されています。
Tableデータの圧縮を使う方には、手間が省けて良い変更かと思います。
…