タグ

mysqlとチューニングに関するyanbowのブックマーク (8)

  • MySQL InnoDBストレージエンジンのチューニング(後編)(EnterpriseZine) - goo ニュース

    チューニングの基礎  それでは、具体的にInnoDBでどこをチューニングするべきかを見ていこう。 ■バッファプール  最も基となるのがバッファサイズの調整だ。ワーキングセットが全てバッファに収まらない限り、バッファプールは大きければ大きいほど良い。その分ディスクアクセスが減るからだ。バッファサイズが小さいと、キャッシュミス時にディスクからReadするのに時間がかかり、I/Oがボトルネックになってしまう。予算のある限りメモリを目いっぱい搭載し、バッファプールに割り当てよう。InnoDBのバッファプールは、innodb_buffer_pool_sizeオプションで設定する。利用可能なメモリは、他の処理に必要な分を除いたすべてをInnoDBのバッファプールに割り当てよう。 innodb_buffer_pool=32G ここで一つ注意がある。innodb_buffer_pool_sizeはバッフ

    MySQL InnoDBストレージエンジンのチューニング(後編)(EnterpriseZine) - goo ニュース
  • パフォーマンスを求めて - お前の血は何色だ!! 4

    結局、わかったことは、 次の4つ。 index から 実体へのシークは遅い。 すべてがindex内で完結するクエリーは早い。 limit をつけても where や order by すると意味がない。 indexを張るなら Using indexe をゲットできないと負けかな。 では、select で取得する値すべてに index を張りますか? 場合によっては可能ですが、テーブルに文字列なんかがふんだんに含まれていると難しいものがあり、現実的ではありません。 そこでこんな方法を提案します。2段階にわけてクエリーを打ちます。 A. task テーブルの 2008/6/5 〜 2008/6/18 のデータを開始日順にならべて、先頭5件だけ表示せよ。 select SQL_CALC_FOUND_ROWS * from task where task.task_starttime <= '20

    パフォーマンスを求めて - お前の血は何色だ!! 4
  • MySQLの複合INDEX - 憂鬱なプログラマの形而上学

    MySQLMySQLの複合インデックスについて。MySQLを使いこなしている人には常識の範疇にはいる知識だと思うのですが、かつての私のように、知らないとドツボにはまるので、ここにまとめておきます。タイトルでどういう内容か、もしかしたら大体、想像がつくかなと思うのですが、MySQLは1つのクエリーで1つのテーブルに対し、1つのインデックスしか機能しないということです。ようするに、あるテーブルに対して、普通に大量のインデックスを張ってもあまり意味がありません。そこで、今回は、最適な複合インデックスはどのようにしてはることができるか考えていこうじゃないか、という趣旨で書いていきたいと思います。まずは分析。テスト環境でインデックスが使われていないSQLを集めるまずは、/etc/my.cnfのパラメータを以下のように設定し、インデックスが使われていないSQLをスロークエリーに吐き出します。 slow

  • MySQLTunerでMySQLのチューニングを診断する方法

    https://github.com/rackerhacker/MySQLTuner-perl MySQLTunerはMySQLのチューニングを診断してくれるアプリケーションです。 基的なパフォーマンスチューニングのヒントをわかりやすく表示してくれます。 MySQLのチューニング設定に不安な方や、はじめてMySQLをさわる方は試してみると良いでしょう。 ライセンスはGNU GPLで無料で使えます。 検証環境 CentOS 6.3(64bit) MySQL 5.5.28 MySQL 5.5をインストール MySQL 5.5をインストールします。 # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86

    MySQLTunerでMySQLのチューニングを診断する方法
  • WEBアプリケーションチューニングを始める - Mandy Code

    さてISUCON2も近づいていることですし、チューニングを題材に今実際にWEBアプリを作る中で行なっているチューニングの初歩について書いてみたいと思います。 まず、僕はものすごくMySQLに詳しいわけでもものすごくPerlPHPに精通しているわけでもない、という前提があり、自分で考えたり少ないながらも経験したことをもとにしてチューニングを進めております。 その中で覚書的に、誰でもいますぐ出来る測定方法などを書いておこうかなーと思います。 チューニングにはものすごく大きく分けて2種類あります。 アプリケーションのチューニング インフラレイヤーのチューニング まずはこの2つが効果的なチューニングになります。 この中でもアプリケーションのチューニングのほうが絶大な効果をあげることが多い、とYAPCでfujiwaraさんがおっしゃっていました。 アプリケーションのチューニング ではWEBアプリケ

    WEBアプリケーションチューニングを始める - Mandy Code
  • 解析まで10分!最強のMySQLチューニングツール「Jet Profiler」 - Lancers開発ブログ

    こんにちは、keiです。 今回は、MySQLのチューニングに大活躍な「Jet Profiler」というツールをご紹介します。 Jet Profilerとは Jet Profilerは、MySQL向けのクエリアナライザです。 クエリチューニングは、DBパフォーマンスチューニングの中でも重要な作業の1つですが、 Jet Profilerを使えば、その作業をGUIで直感的に行うことができます。 フリーウェアの形態で提供されており、機能限定版であれば無料で利用することができます。 購入する場合は、$499となります。 詳細情報、ダウンロードは公式ページからどうぞ。 http://www.jetprofiler.com/ja/ Jet Profilerの魅力 その1 導入のしやすさ 通常のWindowマシンに、普通のアプリケーションをインストールする感覚でインストールが可能です。 イン

  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

  • PHP開発者のMySQLの間違いトップ10:phpspot開発日誌

    WindowsアプリのツリービューっぽいUIをWEB上で簡単実装できるjQueryプラ... 次の記事 ≫:シンプルさがいい感じの154種類のアイコンセット Top 10 MySQL Mistakes Made by PHP Developers PHP開発者のMySQLの間違いトップ10。 手慣れている人にとっては知ってることも多いかもしれませんが、初心者が役立ったり、知らない部分のカバーとしてメモとして書いてみます MyISAMを使っている デフォルトはストレージエンジンにMyISAMだけどInnoDBを使おう リカバリ可能でオンラインバックアップ機能、外部キー利用可能なInnoDBおすすめ 詳細:Open database life: MyISAMとInnoDBのどちらを使うべきか PHPMySQL関数を使っている mysql_* 関数を使わず、PDO等でストレージ変更に対応しよう

  • 1