タグ

2011年3月10日のブックマーク (11件)

  • The Art of Work:MySQL InnoDB Pluginのデータ圧縮機能 性能編 - SH2の日記

    MySQL InnoDB Pluginのデータ圧縮機能の続きです。前回はInnoDB Pluginの独自機能であるデータ圧縮の仕組みを解説し、Wikipedia語版のデータが約半分にまで圧縮されることを確認しました。今回はデータ圧縮によって性能がどのように変化するかを、実際にベンチマーク試験を行って見ていきます。 試験の方針 データ圧縮による性能への影響は、以下の二点が考えられます。 メリット:データサイズが小さくなるため、ディスクI/Oが減る デメリット:圧縮・展開の処理が行われるため、CPU負荷が高くなる そこで、これらの特徴がよく分かるように試験パターンを工夫します。Wikipedia語版のデータはInnoDB上でおよそ5GBありますが、まず狭い範囲に絞って読み取り処理を行うことでディスクI/Oがあまり発生しないようにします。これでCPU負荷の傾向を確認することができます。次

    The Art of Work:MySQL InnoDB Pluginのデータ圧縮機能 性能編 - SH2の日記
    masa_matya
    masa_matya 2011/03/10
    compressedによる性能変化の検証。圧縮しなくてもデータが乗る場合は非圧縮に比べ90%、乗り切らなくなってくると350%、圧縮でも乗らない量だと110%の性能となる。CPUコストも高くなる。単に圧縮=>展開をやっているわけでは無
  • 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の日記
    masa_matya
    masa_matya 2011/03/10
    row_formatについての解説もあり。ページサイズはデフォルト8KBだが、これはzlibがデータを半分以下のサイズに圧縮していることを期待しているため。圧縮がうまくkey_block_sizeに収まったかはinformation_schemaのInnoDB_CMPで確認可
  • MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner」の紹介

    MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner」 このツールのCentOS5.3へのインストールを実施してみます。 「MySQLTuner」のインストールから、使用方法を紹介します。 このツールはMySQLを診断し、設定値をどのように書き換えたらいいか教えてくれます。 (全部これに頼るというよりは参考程度のようですので、注意が必要です) インストールは簡単。 任意のディレクトリにスクリプトをダウンロードし、実行権限を与えるだけです。 # ./mysqltuner.pl >> MySQLTuner 1.0.0 - Major Hayden <major @mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--hel

    masa_matya
    masa_matya 2011/03/10
    MySQLTuner。チューニングの参考に
  • InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ

    http://www.mysql-ucj2007.jp/details/j25.html 木下 靖文 氏 NTTコムウェア株式会社 プロジェクト管理統括部技術SE部門 DB技術グループ (「InnoDB」は「いんのでーびー」と言うらしい...今まで「いのでーびー」と言ってました) InnoDBをなぜ使うか トランザクション コミット、ロールバック、セーブポイント 外部キー 行レベルロック オンラインバックアップ クラッシュリカバリ クラッシュリカバリ MyISAMはデータ量の増大とともに時間がかかる InnoDBはデータ量の増大との相関がない InnoDBチューニングの王道的アプローチ クエリを改善して全体的に処理効率を上げる データサイズをできるだけ小さく メモリをできるだけ多く積む コミット性能(同期書き込み) innodb_flush_log_at_trx_commit=1,0,2

    InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ
    masa_matya
    masa_matya 2011/03/10
    多用なパラメータについて解説
  • InnoDBのログとテーブルスペースの関係

    InnoDBのデータ領域はログファイルとテーブルスペースという、切っても切れない2種類のファイルから構成されている。ログファイルは名前からするとただのログだから削除しても平気かな?と思って削除してしまうという問題が後を絶たない。そこで、今日はログファイルとテーブルスペースの関係について説明しようと思う。 InnoDBのログファイルは、別名WAL - Write Ahead Logと呼ばれるもので、名前を日語に直すと「前もって書き込んでおくためのログ」とでも呼べるだろうか。InnoDBのテーブルに対して行われた更新は、全ていったんログに書き込まれるのである。トランザクションがコミットされると、innodb_flush_log_at_trx_commit=1が設定されていればログファイルに書き込みが行われる。0または2の場合には、ログバッファと呼ばれる領域にデータが保持される。その後、時間を

    InnoDBのログとテーブルスペースの関係
    masa_matya
    masa_matya 2011/03/10
    innodbのログとinnodb_log_file_size設定値に関して。
  • MySQLのパフォーマンスチューニング - モノノフ日記

    とある勉強会でSunのエンジニアの人のプレゼンを直接聞く機会があったのでメモったことを公開します。基的な事が多いんだろうけど、非常に参考になりました。 パフォーマンスとは スループット レスポンスタイム/レイテンシ スケーラビリティ 上記のコンビネーション アーキテクチャとは Connection Thread Pool Query Cache Parser SQLクエリをパース Optimizer Storage Engines アプリによって最適なエンジンを選択すべき サーバのコネクション&スレッド my.cnf max_connection (100) 多すぎるとメモリを消費しきる可能性あり thread_cache_size (8) スレッドをコネクションの切断後にもキャッシュしておく数 一般的には max_connections / 3 sort_buffer_size(2M)

    MySQLのパフォーマンスチューニング - モノノフ日記
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
    masa_matya
    masa_matya 2011/03/10
    ・パラメータ変更 ・HW変更 ・テーブル最適化 ・ストアドプログラは利用しない ・ファイルシステム見直し ・コネクションプーリング利用 etc
  • Real Beat » Blog Archive » [MySQL] MyISAMとInnoDB

    Keep drinking, Keep listening to music, Go fuck yourself 今運用している某システム、MyISAMのある難癖によって非常に辛い目に遭っております。それはもちろんテーブルロック。これはもうMyISAMを選択した時点でどうしても避けては通れない道。そこんところ仕組みをちゃんと理解してないと、MyISAMのほうが速いって言うから選んだのに、なんだよ全然遅いじゃん!っていうか使い物にならないよウワァァァァンみたいなことになりがち。今のシステムでどうやってMyISAMかInnoDBかを分けたのかというと、単純に更新頻度だった。頻繁に更新されるテーブルはInnoDB、そうじゃなければMyISAM。参照が殆どならInnoDBを選択するメリットは何もないと思っていた。が、実は全然そうじゃなかった。 MyISAMが辛いのは、INSERT文実行時にテーブル

    masa_matya
    masa_matya 2011/03/10
    更新頻度だけを軸にMyISAMを選ぶと痛い目を見る。SELECTのREAD LOCKにも注意
  • MySQL Casual Talks #1 発表資料 - Craftworks Tech Blog - Branch

    MySQL Casual Talks #1 の発表資料を UP しました。 MySQL 初めてのチューニングView more presentations from Craft works. 資料の中でも言及しました、hirose さんが作成された mymemcheck という素晴らしいツールを !includedir に対応して Readonly.pm 依存を無くしたバージョンを github の こちらにあげてあります。

    MySQL Casual Talks #1 発表資料 - Craftworks Tech Blog - Branch
    masa_matya
    masa_matya 2011/03/10
    設定項目について。スワップしないように設計しつつなるべく多くのメモリを割り当て、SHOW STATUSで監視運用しながらいじる。項目には、グローバルバッファ、スレッドバッファ、メモリ外がある。
  • 技術文明   -New world by nurd--リモートでX Windowを使う

  • VMWare ディスクの圧縮、最適化

    システムとホームにディスクを分けたりした場合、システム側のデータサイズは かなり小さくなっているはずだが、VMWare では一度巨大になったファイル はそのままでは小さくならない。そのため、ディスクを「圧縮」、「最適化」 する。 圧縮するディスクの選択 圧縮しないものは、起動の前に「仮想マシン設定の編集」ではずしておく こと。理由はわからないが、下記で圧縮ファイルとして選択しないものでも、 接続されていると圧縮を行おうとし、時間がかかってしまう。 スナップショットの削除 以下、VMWare マニュアルの抜粋。 仮想マシンがオンになっていれば、 VMware Toolsコントロールパネルから 仮想ディスクを圧縮することができます。 ただしスナップショットが存在 する場合は、仮想ディスクの圧縮を行うことができません。スナップショ ットが存在する場合は、[スナップショット] - [スナップショッ