こんにちは、keiです。 今回は、MySQLのチューニングに大活躍な「Jet Profiler」というツールをご紹介します。 Jet Profilerとは Jet Profilerは、MySQL向けのクエリアナライザです。 クエリチューニングは、DBパフォーマンスチューニングの中でも重要な作業の1つですが、 Jet Profilerを使えば、その作業をGUIで直感的に行うことができます。 フリーウェアの形態で提供されており、機能限定版であれば無料で利用することができます。 購入する場合は、$499となります。 詳細情報、ダウンロードは公式ページからどうぞ。 http://www.jetprofiler.com/ja/ Jet Profilerの魅力 その1 導入のしやすさ 通常のWindowマシンに、普通のアプリケーションをインストールする感覚でインストールが可能です。 イン
WordPressは1万3000以上のプラグイン、1300以上のテーマが公式に登録されており、その拡張性から大体のことは出来てしまいます。 但し、弱点があってデフォルト利用だとパフォーマンスがあんまり出ないってことで、アクセスの多いブログでも捌けるようにするには色々工夫が必要ということで高速化に関するページを色々まとめてみました。 15 Ways To Speed Up Wordpress WordPressでのページ表示高速15の方法。 体感速度をあげちゃう方法が色々と載ってましたので通常のWEBサイト作りにおいての常識も多く含みますが参考までにメモしてみました。 FirebugとYSlowを使ってページを最適化しよう W3 Total Cache を使おう WP Super Cache 等、静的にキャッシュしてそもそもDBアクセスをなくしちゃったりするプラグインを使おうという話 WP
[追記1] 最後で説明しているproxy cacheの設定を修正しました。 [追記2] nginx proxy cacheでキャッシュしない場合の処理を変更しました。 [追記3] スマートフォンや携帯で閲覧した時にキャッシュしない設定を追加しました。 はじめに 大げさな題名ですが、今回はWordPress単体を速くするのではなく、データベースやWebサーバなどの調整、またnginxのproxy cache機能を使って速くする話になります。 サイトの構成によっては、proxy cacheは使えないかもしれませんが、使わなくても5倍程度速くすることはできましたので、参考にしていただければと思います。 今回行うチューニング一覧 DBを最適化するプラグインを導入する APCを導入してPHPを速くする MySQLを速くする 重いWordPressプラグインを外す nginx+FastCGIにする W
WordPress 楽しんでますか? 今回は WordPress で作られたWebサイトを少しダイエットさせて、表示速度を早くするために、やっておいたらいいかもしれない Tips をいくつかご紹介します。 私は WordPress が大好きなので、もちろんこのブログも WordPress で作っています。でも WordPress は PHP で作られているブログツール。ブラウザで表示されている Webページは、PHP によって動的に作られた HTMLです。 Webページを表示するたびに、Webサーバの中で PHP が働き、HTMLを吐き出しているので、最初からHTMLで書かれた Webページに比べて、表示が遅くなる傾向があります。 私のブログは、毎日のアクセスがそれほど多い訳ではないので、それほど神経質にはなっていませんが、一時キャッシュ系のプラグインの使用と、その他にもいろいろ工夫をした
みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09
ApacheCon US 2007の、『Apache Performance Tuning / Part One: Scaling Up』, Sander Temme (PDF) より。 ab おなじみ、Apache付属のあいつ http_load http://www.acme.com/software/http_load/ flood http://httpd.apache.org/test/flood/ JMeter http://jakarta.apache.org/jmeter/ 最近のバージョンは使いやすくなったらしい あと、ほかには httperf http://www.hpl.hp.com/research/linux/httperf/ とか。
サーバが重いってどういうこと? 著者:ウノウ 尾藤 正人 2007/10/4 2007年10月の連載ランキング1位(一覧を見る) サーバ管理者だけではなく誰でも一度は経験したことがある「サーバが重い」という現象。一言で「重い」というのは簡単ですが、重いというのは具体的にどういうことなのでしょうか。 ここでいう重い・軽いは単一のベクトルで判断できるような簡単な代物ではなく、様々な要素によって発生する現象です。処理が重いからといって闇雲にハードウェアを増強するのは賢いやり方とはいえません。例えば、メモリ不足が高負荷の原因なのに、CPUを高速なものに変えても効果はほとんどないでしょう。 このような無駄な投資を避けるためにも、負荷の原因を特定して素早く対応策を講じるのはサーバ管理者にとって重要なスキルになります。本記事ではサーバ負荷の特定の仕方と対策の仕方について、簡単な概要を説明します。
最近なんかPCが遅い──。そんな人に向けて、PCの不調の原因を突き止めて対処するための7つのチェックポイントをまとめてみた。 Windowsを使って仕事をしている人なら、最初はけっこう速かったPCが、使っているうちに遅くなる──という事態に頻繁に遭遇しているはず。それは、“今、この操作をしているとき”遅いということもあれば、“毎日、恒常的に遅い”こともあるだろう。 皆さんと同じく、筆者のPCもだんだんだんだん遅くなり、また作業によっては極端に遅くなる。PCがウインドウの枠を描画しているのが見えたとしたら、それはあなたの視力が向上したわけではないのだ。では、どんな対処法があるのか。筆者が日常的に使っている方法を紹介しよう。 まずは遅くなっている原因を見極める。メインで使うツールは「タスク マネージャ」だ。 チェックポイント1──HDDのアクセスランプは光っていないか? 遅いと感じたときは、ま
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
最近、雨の日が続いて自転車通勤ができていない naoya です。 今日は、先週ぐらいからフォト蔵に導入した Apache で mod_expires と mod_rewrite を使ったウェブサーバへのアクセスを減らす方法を紹介します。 通常のウェブサーバは、更新されていないリリースに対してアクセスすると、ステータスコード 304 とIf-Modified-Since ヘッダをつけて応答データを返しますが、CSS や JavaScript など比較的更新頻度の少ないファイルに対して、毎回応答を返すのはウェブサーバから見ると無駄なアクセスです。 Apache の mod_expires と mod_rewrite を使うと、この無駄なアクセスをブラウザキャッシュを有効活用にすることにより、静的なファイルに対するアクセスを減らすことができます。 まず、仕組みから説明すると、とても単純で mod
Firefoxを遅くさせるアドオン要因Webアプリケーションの開発者はFirefoxを愛用しているケースが多い その理由として拡張機能が豊富であることが第一に挙げられる 優秀なアドオンとしてAll-in-One GesturesやGreasemonkey、 WebDeveloper、Firebug、ScrapBookなどが利用される しかしFirefoxを使い込むにつれてアドオンが増え その結果、起動時間・表示時間に遅れが出ることになる その最大要因はアドオンであり数種のアドオンによって遅くなる ではブラウザ表示を遅くさせるアドオンはどれか 具体的な数字で比較できるのか? この表示時間について検証 01.検証試験環境【 OS 】 XP SP2 Pro、Vista Ultimate 【 .CPU. 】 PentiumD820 2.8GHz 【 Mem 】 Samsun
サーバのチューニングをする上でかなりやっかいなのがデータベース系。特にログファイルの量が膨大になると後から中身を見て問題を分析するのも一苦労という場合が。そんなときにこのMySQL用topコマンド「mytop」を使えば一体何が起きているのかがすぐにわかるので問題点の把握が容易になります。ベンチマークするときに併用すればかなり効率が良くなるのではないかと。 インストールと使い方は以下の通り。 まずは「mytop」から。以下が公式サイト。 mytop - a top clone for MySQL http://jeremy.zawodny.com/mysql/mytop/ マニュアルは以下にあります。 mytop - display MySQL server performance info like `top' インストールするにはSSHなどを使ってrootでログイン後、wgetでファイル
普通の帯域節約術としては、mod_deflateでdeflate圧縮するとか、CSSやJSファイルのHTTPレスポンスヘッダにLast-ModifiedやEtagを追加しておいて、ブラウザがHTTPリクエストヘッダにIf-Modified-SinceやIf-None-Matchを付加するようにし、コンテンツが変更されていなかったら304 Not Modifiedを返すという方法を取るかと思います。 しかし、HTTPサーバーはコンテンツの数だけ304 Not Modifiedを返さないといけないため、その分帯域を消費しますし、またCSSや画像などのパーツの304 Not Modifiedが返ってくるまで、そのパーツのレンダリングが行えないという問題があります(つまり体感速度に影響します)。 今回紹介するのはExpiresヘッダやCache-Control: max-age=31536000を
2007/11/13: 3.と4.が同じ内容となっていましたので、4.の内容を変更しました。 ここ最近PHP4.1.2で稼働していたシステムをPHP5.1.6へ移行しています。 移行の際に発生した問題とその対応をメモしておきます。 ちなみに全ての内容がPHP4->PHP5で必要なものではないです。PHP4も4.1/4.2/4.3/4.4の間でちょこちょこ変わっているので、一部の内容はPHP4間の移行でも修正が必要になります。またPHP4.4に適応しているスクリプトをPHP5へ移行するなら修正内容は少なくなります。 1.Notice: Only variable references should be returned by reference 「function &method()」と定義しているメソッドでスカラー値を返すと発生します。 <?php class Hoge { functi
komagataです。 Webアプリケーションのパフォーマンスの大半はデータベース、特にインデックスの使われ方にかかっている気がします。 仕事でもMySQLをよく使いますが、MySQLでは1テーブルに付き1インデックスしか使われません。PostgreSQLなどと比べてそのことが気になってMySQLでのパフォーマンスチューニングに全く自信が持てませんでした。 オライリーの実践ハイパフォーマンスMySQLには下記のように書かれています。 実際、UNIONを除き、MySQLでは、1つのクエリを実行するとき、1つのテーブルに付き1つのインデックスしか使用できない。この事実は、繰り返し述べるに値するほど重要である。「MySQLでは、1つのクエリを実行するとき、1つのテーブルにつき1つのインデックスしか使用できないのである。」 また、その制約を考えたクエリの書き方として下記の様に書いてあります。 my
ネタ元は Lifehack.org の「One Firefox Toolbar to Rule Them All」という記事です。 Firefox のメニューバー、ツールバー、ブックマークツールバーをカスタマイズし、各領域を可能な限りコンパクトにする方法を紹介します。 ツールバーをカスタマイズする ツールバー領域の右クリックメニュー「カスタマイズ」より「ツールバーのカスタマイズ画面」を表示してください。ドラッグ&ドロップ操作でアイテムを追加・削除することができます。(不要なアイテムは、カスタマイズ画面にドロップすることで削除できます) ロケーションバーでスマートキーワード検索ができるので、検索バーも不要かもしれません。 メニューをアイコンに閉じ込めてコンパクトに メニューをアイコン1つに閉じ込めるために、Custom Buttons 拡張を利用します。Custom Buttons は、スク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く