谷口です。 MySQLがボトルネックになっている場合のチューニングをするときに、私が役立てているサイトをまとめました。 非常にありがたい情報が多くて助かってます。 SQLを速くするぞ―お手軽パフォーマンス・チューニング クエリチューニングのヒントになります。MySQLに限らず他のDBMSでも通用するTipsです。 Web高速化 | パフォーマンスチューニングblog | インターオフィス InnoDBとMyISAMの比較が充実してます。 MySQLのパフォーマンスチューニング - Absolute Playing! InnoDB、MyISAMの各設定など基本的なことがよくまとまっています。 MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.6.8.4 SHOW VARIABLES MySQL4系のリファレンス。各パラメータの説明があります。 MySQL :: MyS
大量のファイルを開いたりダウンロードするときにネットがどうも重いということがある。また海外の画像サイトなどを見ていると反応が悪くページがなかなか表示されない。ローカルプロクシソフト「Polipo」を使ってみよう。 ローカルプロクシというと広告を消すなどの目的をイメージするが、ネットワークの高速化を目的に作られたツールだ。ブラウザのキャッシュと同様に一度見たページのデータをキャッシュして表示を速くするほか、「パイプライン」という仕組みを使って1回の接続で複数のファイルを転送でき、ページの表示速度をアップさせられる。サーバ側で同時接続数が制限されていてもスムーズにファイルを表示できる可能性があるぞ。もともとマックのネットを3倍速くするという触れ込みで注目を集めたツールだが、現在では「Solipo」というウインドウズ用のフロントエンドが登場しておりXPでも手軽に使える。特に国外の激重サーバなどで
GoogleがWeb全体のスピードアップにいよいよ本格的に着手, 一社だけではできないと強調 からリンクのあった、 http://code.google.com/intl/ja/speed/articles/optimizing-javascript.html が日本語かと思ったら日本語じゃなかった・・・・。 いやー、意外とというか文字列については、全然知らんかった。 Closureって便利だし、「おぉ〜俺って使ってるジャン」みたいな気になれるからついつい使っちゃうんだけど、高コストなのね・・・・。反省。 ということで、超適当翻訳。どっかの誰かが書いてるかも。 前おき 著者: Google Chromeのエンジニア Gregory Baker, Software Engineer on GMail & Erik Arvidsson 推奨される経験:JavaScriptの実践的な知識 クライ
「VSuite Ramdisk Public Edition」は、メインメモリ上へ“RAMディスク”を構築できるソフト。32ビット版のWindows 2000/XP/Server 2003に対応するフリーソフトで、作者のWebサイトからダウンロードできる。なお、64ビット版WindowsやWindows Vista/7などには現在対応していないが、今後の対応が予定されている。 本ソフトは、メインメモリ上に仮想ドライブを構築して、“RAMディスク”として利用できるソフト。メインメモリの一部をそのままドライブとして利用するので、HDDよりもはるかに高速なデータの読み書きが可能になる。データアクセスの激しいテンポラリフォルダやページファイルなどをRAMディスク上へ配置しておけば、PC全体のパフォーマンス向上が見込めるだろう。 さらに、本ソフトはOS管理外のメモリ領域をRAMディスク化することも可
(株)バッファローは9日、メインメモリ上に“RAMディスク”を作成できるソフト「BUFFALO RAMDISK ユーティリティー」v1.0.0.1を公開した。Windows XP/Vistaに対応するフリーソフトで、現在同社のWebサイトからダウンロードできる。 「BUFFALO RAMDISK ユーティリティー」は、メインメモリ上に仮想ドライブを構築し、RAMディスクとして利用できるソフト。RAMディスクはアクセス速度が高速なため、Windowsの一時ファイルを保存する“Temp”フォルダやWebブラウザーのキャッシュ保存フォルダなどをRAMディスク上に設定しておくと、OSの動作が軽快になるだろう。 また、通常ならRAMディスクに保存したデータはOS終了時などにすべてクリアされてしまうが、本ソフトはRAMディスクに保存したデータを自動でバックアップしておき、再起動時に復元できるのが特長。
Detecting duplicate code in PHP files : CodeDiesel PHPで冗長化したコードを自動で検出してコードの最適化に使える「PHPCPD」。 プログラムが大きくなってくると、同じような処理を違う場所で何度もやっているということがあります。 ソースコードのファイル数が多くなってくるとそれを探すのは大変ですが、その冗長部分を自動で検出できるPHP Copy Paste Detector(CPD)のご紹介。 使い方の流れが書かれていたので、試してみました(Windows上で実施) PHPCPDをPEARコマンドでインストールする 1) channel-discover でpearチャネル追加 Windowsの場合はコマンドプロンプトを開いて、pear コマンドを実行。Unix系でも同様にpearコマンドを実行> pear channel-discover
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Firefoxのパワーユーザー以外の人は、about:configページには不案内かもしれない。Firefoxのabout:configページは、ある程度人の目に触れないようになっている設定関連のページだ。これが隠されているのは、かなり強力なものであり、標準的なオプション設定のウィンドウのように簡単に使えるものでもないからだ。about:configページでは、自分がやっていることを把握していなければ、問題を起こしてしまう場合もある。実際、初めてこのページを閲覧するときには、先に進むのに承諾事項に同意する必要がある(実際には単なる警告だが)。 このページの働きは単純だ。アドレスバーにabout:configと入力すれば、このページにたど
前回 インタプリタ型言語を高速化する computed goto で紹介したcomputed gotoを、「phpでも使えないの?」という声が社内であったので、 php のソースコードを見たところ、特定のビルド手順で php でも computed goto が使えることが判りました。そのビルド手法とベンチマーク結果を紹介しておきます。 php の VM のソースコードは、phpソースパッケージ中の Zend/ というディレクトリの中にあります。zend_vm_で始まる幾つかのファイルのうち、 zend_vm_execute.h というファイルが命令ディスパッチが実装されているファイルで、このファイルは zend_vm_gen.php というスクリプトで生成されています。そして、 zend_vm_gen.php のオプションで、命令ディスパッチの方法を選択できます。(phpのビルドにphp
外部スタイルシートの指定は@importとlinkでどちらがいいかと、書籍「ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール」の@importはパフォーマンスに悪影響を与えることについてのフォローアップを紹介します。 don't use @import 内容は、IEでは@importで外部スタイルシートを指定すると、パフォーマンスに悪影響を与えるので使用しないでください、というものです。 下記は、外部スタイルシートを@importとlinkを組み合わせて、それぞれのパフォーマンスを比較したもので、キャプチャはそのサイトのものと、参考に当環境でIE7/Fx3(XP)を検証したものです。 @import @import 2つの外部スタイルシートを@importで指定。 <textarea name="code" class="html" cols="60" rows="5">
最近のWebシステム開発ではキャッシュサーバを用いることが多くなってきている。通常、ボトルネックになりやすいファイルへの読み書きやデータベース接続のコストが、メモリを使うことで大幅に軽減される。ハードウェアを過分に増強せずとも、メモリを増設してmemcachedを使うだけでずいぶんパフォーマンスが向上する。 memcachedのデータが一覧できる しかし開発の時点でmemcachedを使っていると、きちんとデータが入っているか、またはどちらを参照しているのか分からなくなることがある。そのような時に使えるのがmcinsightだ。 今回紹介するフリーウェアはmcinsight、memcachedサーバ&フロントエンドだ。Githubにてソースコードは公開されているが、ライセンスは明記されていないのでご注意いただきたい。 mcinsightはローカルのmemcachedサーバとして利用する。立
ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基本中の基本であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_
PHP micro-optimization tips | Alex @ Net PHPコーディングに関する最適化TIPS というのがまとまっていましたのでご紹介。 元記事では、micro-optimization ということで、これらを直すのももちろんだけど、ロジックを直す方がパフォーマンスは改善されるということを言ってるようです。 個人的な勉強がてら、メモとして残します。 ・__call のマジックメソッドを使うと遅い ・staticなメソッドはインスタンス化したオブジェクトのメソッドより速い ・関数呼び出しは、staticなメソッド呼び出しより高速 ・ローカル変数へのアクセスはグローバル変数へのアクセスより速い ・グローバル変数へのアクセスは、オブジェクトのプロパティより速い ・オブジェクトプロパティへのアクセスは、__get, __set を使うと遅い ・初期化された変数はそうでな
Web2.0としてくくられるタイプの各種ネットサービス、いわゆるウェブアプリは以前とは比較にならないほど動的生成されるものが多く、結果としてものすごい負荷をシステムにかけるわけです。 というわけで、海外におけるデジカメ画像共有サービスの代表的なものである「Flickr」の開発者がJavaScriptを高速化する手法について解説しています。 Vitamin Features >> Serving JavaScript Fast 手順を分割して簡単にしてみたり、キャッシュを使ったり、転送量を圧縮して帯域を節約したりいろいろあるようです。なお、GIGAZINEはキャッシュシステムを採用して有効活用することで負荷を現在、当初の12分の1に抑えています。 また、こっちはリバースプロキシによる高速化手法。 ViSolve.com - Squid Support Service Apacheのモジュール
シングルスレッドではもう遅い。 以前にマルチコア時代の高速サーバーの実装で、「ネットワークIOはマルチスレッドで動かすが、その他の部分はシングルスレッドで動かす」というIOアーキテクチャの実装(mp::iothreads)を紹介しました。iothreadsはロジック部分をシングルスレッドで書けるため実装の手間を抑えることができ、ネットワークIOがボトルネックになるプログラムには特に適していると思われます。 しかし実際にiothreadsを使ってプログラムを書いてみると、非常に負荷が高い状況でシングルスレッドの部分の処理速度がボトルネックになってしまうことがありました。 そこでマルチコアCPUの性能を引き出すために、徹頭徹尾マルチスレッドで動かすIOアーキテクチャを実装してみました。 1つのスレッドが、ある時はepoll_wait()し、ある時はread(2)を行い、ある時はイベントを処理す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く