タグ

ブックマーク / sh2.hatenablog.jp (10)

  • MySQL 5.6におけるsync_binlog=1の改善について&勉強会のお知らせ - SH2の日記

    2012年6月のエントリの続きです。前回は同期レプリケーションによるネットワーク遅延のある環境において、MySQLの性能がどの程度低下するのかということを確認しました。その中でも特にsync_binlogが1に設定されている場合、性能が大きく低下するということが分かりました。参考としてAmazon RDSのマルチAZデプロイメントにおいては、性能と信頼性のトレードオフを考慮した結果、sync_binlogがデフォルトで0に設定されているということを調査しました。 タイトルでネタバレしていますが、MySQLの次期バージョン、MySQL 5.6でこのsync_binlog=1の性能が大きく改善します。前回と同じ負荷テストMySQL 5.5.25からMySQL 5.6.6-labsに差し替えて行った結果を、以下に示します。 前回のMySQL 5.5.25と異なり、sync_binlog=1にお

    MySQL 5.6におけるsync_binlog=1の改善について&勉強会のお知らせ - SH2の日記
    Yudoufu
    Yudoufu 2014/10/17
  • SystemTapでMySQL 5.5のDisk I/Oを分析する - SH2の日記

    2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです。以前作成したSystemTapスクリプトは、実はMySQL 5.5のDisk I/Oを分析することができませんでした。というのも、MySQL 5.5からInnoDBが非同期I/Oを行うようになったのですが、以前のスクリプトは非同期I/Oに対応していなかったためです。日はMySQL 5.5におけるInnoDBの非同期I/Oについて、確認していきたいと思います。 非同期I/Oとは 非同期I/Oとは、I/O処理をブロックされることなしに行う方式のことです。通常のI/O処理はそれが完了するまで待たされてしまうのですが、非同期I/Oを用いることでI/O処理の完了を待つことなしに他の処理を進めることができます。以下のウェブサイトでとても詳しく解説されています。 バッファキャッシュとAIO(1) - O'Reil

    Yudoufu
    Yudoufu 2014/10/17
  • MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記

    InnoDB Pluginの面白い機能の一つに、データ圧縮機能があります。今回はその仕組みと効果について見ていきたいと思います。まずはグラフをご覧ください。 これはWikipedia語版のデータベースをダウンロードし、記事文の格納されているtextテーブルをMySQL 5.1+InnoDB Plugin 1.0の環境にロードしたものです。 元テキスト:今回利用したデータは2009/06/21版のものです(jawiki-20090621-pages-articles.xml.bz2)。元テキストはここからXml2sqlを用いてタブ区切りテキストを取り出したものを用いています。このファイルには1,167,411件の記事が格納されており、容量は3,436MBとなっています。 元テキスト gzip:元テキストをgzipコマンドで圧縮したものです。 MyISAM:記事をMyISAMのテーブルに

    MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記
    Yudoufu
    Yudoufu 2014/10/17
  • Provisioned IOPSの検討 - JPOUG Advent Calendar 2012 - SH2の日記

    2012年9月にAmazon RDSでProvisioned IOPSというサービスが利用できるようになりました。日はこれを題材にして、IOPSを保証するということについて勉強していきたいと思います。このエントリは、JPOUG Advent Calendar 2012の17日目となります。16日目は@maroon1stさんでした。 Amazon RDSについては、@horiuchiさんが15日目のエントリでまとめ記事を書いていらっしゃいます。Provisioned IOPSについては記事の反響で第3位ということで、なかなか注目度が高かったことが分かりますね。 Amazon RDS 2012年 サービスアップデートまとめ - Amazon Web Services ブログ 【AWS発表】Amazon RDS でハイパフォーマンスなプロビジョンドIOPSストレージを利用可能に(東京リージョン

    Provisioned IOPSの検討 - JPOUG Advent Calendar 2012 - SH2の日記
    Yudoufu
    Yudoufu 2014/10/17
  • VMwareの時刻あわせ 2008年冬版 - SH2の日記

    VMwareではWindowsホスト上のLinuxゲストの時計が大きくずれるという問題が昔からあって、調べるといろいろ回避策が見つかります。しかし古い情報が多くなってきており、今となってはあまり適切でない方法になってしまっているものもあります。 そこで、2008年冬時点での時刻あわせ手法についてまとめておきます。環境は以下のとおりです。 VMware Server 1.0.8 物理マシン:Core Duo T2300 (1.66GHz) EIST有効 ホストOS:Windows XP Professional SP3 32bit ゲストOS:CentOS 5.2 32bit、仮想CPU数 2 目次です。 Windows XPのSNTPサーバを構成する VMware Serverの設定ファイルを修正する カーネル再構築は必要ない CentOS 5.2のカーネルパラメータを変更する adjti

    VMwareの時刻あわせ 2008年冬版 - SH2の日記
  • MySQLの古いバージョンを集めました - SH2の日記

    ときどきMySQL 4.0など古いバージョンの調査をすることがあるのですが、そのたびにファイルが見つからず困っていたので一箇所に集めておきました。 MySQL Archives - dbstudy.info プロダクトライフサイクルの終了したメジャーバージョンについて、最終マイナーバージョンのソースコードおよびWindowsLinuxのバイナリパッケージをダウンロードできるようにしてあります。ディスク容量に限りがあるため、Linuxについてはその当時のRed Hat Enterprise Linux最新版向けでかつ64ビット版のものを優先的に格納しています。 今後これらの古いバージョンに対して新たな不具合や脆弱性が見つかっても、開発元による修正は行われません。そのため番環境での利用は避け、ソースコードの調査や旧システムからの移行準備にのみ利用されることを推奨いたします。GPL v2で頒

    MySQLの古いバージョンを集めました - SH2の日記
  • MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記

    いちいさんにお誘いいただいて、勉強会で発表をすることになりました。 InnoDB Deep Talk #1 : ATND おそらく初見では内容が難しいと思いますので、先に資料を公開しておきます。 プレゼンテーション資料 (PDF) テストデータ生成スクリプト (JdbcRunnerで利用します。) プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Bugs: #64567: Last_query_cost is not updated when executing an unique key lookup Understanding and Control of MySQL Query Optimizer: Traditional and Novel Tools and Techniques: MySQL Conference & Expo 2009 - O'R

    MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記
  • mysqldumpの--order-by-primaryオプションについて - SH2の日記

    TIPSです。このようなテーブルがありまして、 CREATE TABLE `link` ( `id1` int(11) NOT NULL DEFAULT '0', `id2` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id1`,`id2`), KEY `ix1` (`id2`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;データは以下のような感じで、このときは2,900万レコードありました。 +---------+---------+ | id1 | id2 | +---------+---------+ | 5 | 69 | | 5 | 1022 | | 5 | 1487 | … | 1081 | 2021414 | | 1081 | 2087813 | | 1082 | 11 | | 1082 | 225

    mysqldumpの--order-by-primaryオプションについて - SH2の日記
  • MySQLでALTER TABLE文の進捗状況を確認する - SH2の日記

    MySQLでテーブルへのカラム追加やテーブルの再編成を行うには、ALTER TABLE文を使用します。MySQLのALTER TABLE文は、変更後の定義にもとづく作業用テーブルを作成し、変更前のテーブルから作業用テーブルへデータをコピーして、最後に二つのテーブルを入れ替えるという仕組みになっています。テーブルへのインデックス追加についても、現在のところ大半のケースで内部的にALTER TABLE文が実行されています。 ALTER TABLE文の怖いところは、処理がもうすぐ終わるのかどうかが分からないところです。テーブルサイズが1GBを超えるあたりから分単位の時間がかかるようになり、100GBともなると当に終わるのか?と見ていて不安になります。メンテナンス時間が限られている場合は、作業を中断すべきかどうか難しい判断を迫られることもあります。 実は、というほどではありませんが、ALTER

    MySQLでALTER TABLE文の進捗状況を確認する - SH2の日記
  • tpcc-mysqlによるMySQLのベンチマーク - SH2の日記

    データベースに対する負荷ツール、ベンチマークツールは世の中にたくさんあるのですが、単一テーブルに対する主キー検索しかしないものなど、CPUクロック勝負の比較的単純なものが多くを占めているようです。そこで日は、もう少し高度なベンチマーク仕様としてのTPC-Cと、MySQL向けの簡易実装であるtpcc-mysqlをご紹介します。 TPC-Cとは卸売業における注文・支払いなどの処理を擬似的に再現した業務モデルで、TPCという業界団体によって策定されたものです。9種類のテーブルに対する5種類のトランザクションがミックスされており、そのうち注文処理のスループットを測定結果として利用します。公式サイトで仕様書(PDF)が公開されています。 テーブル定義は以下のようになっています。ちなみにこのER図はMySQL Workbenchで出力したものです。 warehouse:倉庫です。倉庫表のレコード数は

    tpcc-mysqlによるMySQLのベンチマーク - SH2の日記
  • 1