35 件中 21 - 30 件を表示
« 前の 10 件 | 次の 5 件 »
Displaying posts with tag: Performance (reset)
Work Tableによる処理 (temporary,memory tables)

特定のSQL処理で、GROUP BYなどの集合関数を利用していて、
“Using temporary”,”Using filesort”などが出て処理時間がかかり過ぎたり、
サブクエリーによる結果をJOINしてindexが利用出来無かったりと、
困難な場面に遭遇する事があるかと思います。

基本的には、物理的に変更しても良くて数倍だと思いますので、
アプリケーションやクエリーを工数かけて書き換えて対応するのが良いと思いますが、
なかなか出来ない場合は、可能な範囲でサーバーパラメータを変更したり、
クエリーを若干変更してメモリーテーブルやTEMPORARY TABLEなどでワークテーブルを作成し、
サブクエリーなどの結果を随時集計しIndexを使えるように処理する方法もあるかと思います。

[さらに読む]
MySQL5.7におけるレプリケーションの改良

MySQL5.7にてレプリケーションに新たなオプションが加わったので、
ここで軽くご紹介させて頂きます。

今回は、以下の2点のみ検証してみました。
1. マルチスレッドスレーブ(同一スキーマ)
– 全体的なパフォーマンス次第ですが、トランザクションを並列して実行可能。
レプリケーションのパフォーマンスが向上します。
2. 動的フィルタリング
– オンライン処理増えると、メンテンナンス時間の制限が減らせてますね。

検証、MySQL Version


root@localhost [REPLI]> select @@version;
+--------------+
| @@version    |
+--------------+
| 5.7.7-rc-log |
+--------------+

以下は、また時間見てご紹介させて頂きます。

■ …

[さらに読む]
Separate UNDO tablespace and Innodb Temporary Tablespace

先日は、共通テーブルスペース(Generated Tablespace)の紹介をさせて頂いたので、
5.7でより細かく設定出来るようになった
undo tablespaceとInnoDB temporary table tablespaceの設定
を紹介してみます。インスタンスの初期設定のタイミングで設定する必要がある為、
出来るだけインスタンスを構築する前にファイルパスなどの設計も行って頂ければ宜しいかと思います。

※まだ、GAになっていないのでRC(リリース候補)での確認のみなので、実際に本番環境で利用する場合は事前検証お願い致します。

■ Separate UNDO tablespace

[さらに読む]
オンラインでのInnoDB Buffer Pool Size変更

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 …

[さらに読む]
InnoDB General Tablespace

MySQL5.6ではinnodb_file_per_tableがDefaultでテーブル毎にテーブルスペース(ファイル)が作成されますが、MySQL5.7.6 DMRからは、CREATE TABLESPACEステートメントによって、
複数テーブルで共有出来るテーブルスペースが作成出来るようになりました。また、Defaultデータディレクトリーとは別のパスにテーブルスペースを作成出来るので、
負荷が高いテーブルなどをSSDなどに配置するなど柔軟に対応することが可能になります。Oracle(テーブルスペース)やMS SQL(ファイルグループ)に関しては、
以前から同様に指定出来ますが、オープンソースデータベースのMySQLは5.7になり、更にそれらの商用データベースと同様の機能も利用出来る汎用性を備えたデータベースになってきました。

[さらに読む]
FLUSH TABLES WITH READ LOCKについて

FLUSH TABLES WITH READ LOCKをバックグラウンドで実行する処理がある場合に、
長時間実行しているバッチなどの処理があると、後から実行されるQueryが待たされるケースがある。
そんな、話を多からず、少なからず質問頂くので一応メモとして動作を記録。

通常は、データベース側の処理はDurationは短いので問題無いですが。。。
長時間バッチが実行されるような処理がある場合を避けて、FLUSH TABLES WITH READ LOCKを含む処理を実行するのが良さそうです。
MyISAMが全て無くなればまた、少しだけ選択肢が増えそうです。

[さらに読む]
mysqlfabric provider register OpenStack

MySQLFabricはOpenStack Novaと連携可能なので、
選択肢の一つとしてProviderとしてOpenStackを登録してみた。

詳細はこちらの資料を参照下さい。
https://oracleus.activeevents.com/2014/connect/fileDownload/session/CF4F217F7E733EF6066ED14D5CB7371C/CON5636_Kindahl-MySQLFabricElasticityOOW2014.pdf

Provider登録用のコマンド

[admin@Fabric01 ~]$ mysqlfabric help provider register
provider register provider_id username password url  [--tenant=NONE] 
[--provider_type=OPENSTACK] [--default_image=NONE] [--default_flavor=NONE] 
[--extra=NONE] [--synchronous]  
Register a provider.

登録したProviderからサーバーをProvisioning

[admin@Fabric01 ~]$ …
[さらに読む]
SYS Schema on MySQLの再確認

SYS Schema on MySQLの再確認
SYS Schemaは元々ps_helperという名前だったが、Oracle、MS SQLと同じように
分かり易くする為にSYSにしたとの事。

The MySQL SYS Schema

インストール方法
以下の2つのうちどちらか選択
1) Workbench6.1以上~
2) GitからScriptをダウンロード

root@localhost [sys]>select * from sys.version;
+-------------+-------------------------------------------+
| sys_version | mysql_version                             |
+-------------+-------------------------------------------+
| 1.1.0       | 5.6.22-enterprise-commercial-advanced-log |
+-------------+-------------------------------------------+
1 row in set (0.00 sec)

root@localhost [sys]>select * from sys.schema_object_overview where db = 'sys'; …
[さらに読む]
MySQL5.6 slave_parallel_workers

MySQLのレプリケーション構成において、スレーブの処理を並列にして処理を
高速化する事が可能。但し、5.6までは並列化の単位はスキーマ(データベース)
単位になります。5.7からは、同じスキーマ単位でも並列処理が可能になる予定だそうです。
OS側に余裕があれば、処理を高速化し時間を短縮化する事で他の業務も出来るようになるので、
MySQLのレプリケーションがスレッド不足で遅延している環境では、
有益な選択肢になるかと思います。もちろん、自分でツール開発やシェルを工夫して
対応する事も可能ですが、MySQL UtilityやMySQL Enterprise Monitorなどで管理していくと、

[さらに読む]
MySQL Memcached Plugin

MySQL5.6から利用出来る、memcached pluginの動作確認になります。
Webサイトではユーザーセッション管理などでmemacheとrepcachedを利用して、
高速データ処理をしてました。MySQLでもPluginとしてmemcachedが使えるようになり、
NOSQL処理も出来るようになりました。mysqlのmemcachedはACID対応可能で、
innodbと連携出来るので、整合性を保ったNOSQLとして利用出来る事が特徴になります。
また、SETコマンドなどで処理したデータはテーブルに保存されるので、
再起動しても残す事が出来ます。

Pluginのインストール

root@localhost [(none)]>system cat /usr/local/mysql/share/innodb_memcached_config.sql
create database innodb_memcache;

use innodb_memcache;


-- ------------------------------------------------------------------------
-- Following are …
[さらに読む]
35 件中 21 - 30 件を表示
« 前の 10 件 | 次の 5 件 »