よい機会なのでまとめておく。対象はMySQL5.6以下とMariaDB10.0以下。 (2014.12.3追記:以下の書籍にも記述した。) 要旨 MySQL/MariaDBのバックアップについて、相変わらず「InnoDBさえ使っていれば、FLUSH TABLES WITH READ LOCKは不要。よってバックアップ中に更新不可になることはない!」との主張が繰り返されているが、少なくとも5.6/10.0まではそんなことはない。 オンラインバックアップに関するロックの正確な記述 より正確に言えば「全データベース領域をバックアップする場合には、FLUSH TABLES WITH READ LOCKは必須。特定のInnoDBだけのデータベースやテーブルをバックアップする際は、この限りではない」。 なのだが、全領域のバックアップをしたい人に対してロック不要説を吹き込む人が未だにいる。 ロックの必要
Benchmark Details The benchmark is sysbench-mariadb (sysbench trunk with a fix for a more scalable random number generator) OLTP simplified to do 1000 point selects per transaction. The data set is 1 million rows in 20 tables. Fewer tables can be used, but below 4 tables the performance drops somewhat due to a hot spot in the table definition cache. This is the my.cnf used for this test: [mysqld]
Webブラウザでトップページをリロードします。先ほどと同様に初回は少し時間がかかりますが、二度目以降はページのロード時間が高速になっていることが確認できます。筆者の環境では、64ms前後になりました。同じくabコマンドでのベンチマークでは、Requests per secondが31.82となりました。 5パーセントほどですが、この設定によってパフォーマンスがさらに改善されました。ここでは、主にクエリキャッシュの設定が寄与しています。 クエリキャッシュは、一度発行された参照系クエリ(SELECT文)の実行結果をメモリ上にキャッシュしておいて、同じクエリが発行されたら、その結果を再利用することによってデータベースの実行速度を向上させるものです。PHPアクセラレータと同じく、データベースの更新によってクエリの結果が影響を受ける場合には、キャッシュは破棄されます。クエリキャッシュの有効/無効によ
MariaDB で日本語を扱う場合の文字コードの設定。 設定変更前 まずは MariaDB をインストールした状態の文字コードを確認。 MariaDB [(none)]> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | |
All of Percona’s open source software products, in one place, to download as much or as little as you need.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く