タグ

optimizeに関するahikorのブックマーク (12)

  • PostgreSQL パフォーマンスチューニングまとめ - 徒然なるままにBlog

    PostgreSQLをチューニングする機会があったので その時に調べたチューニング項目を備忘録として残しておきます。 バージョンの違いやサーバの規模などによっても 効果は変わってくると思うのであくまで参考程度のものですが。 ・shared_buffers 7系では8000〜10000程度まで引き上げる 8系では150000程度まで引き上げることが可能、100000程度が性能のピーク これに多く割り当てるよりOSのバッファ領域として使う方が性能が向上する テーブルサイズを割り出して設定するのがベスト 簡単に設定するなら搭載メモリ量の1/4、搭載メモリが多ければ1/2ぐらいでも可 ・max_connections 7系では256程度、8系では1000程度が性能のピーク ・work_mem(sort_mem) 適切なサイズに調整する、2048〜4096程度 プロセス毎

  • Re: MySQL最適化のミニtips - 日向夏特殊応援部隊

    元ネタ: http://labs.unoh.net/2007/07/mysqltips.html あまり具体的じゃないので、僕の考えとか。 正しいかどうかは各自の状況だとか実際試すべきなんだけど、参考になれば。 MyISAM、InnoDBなどテーブルタイプ 僕は断然InnoDB派です。 ただ仰るとおり、ログるだけのテーブルとかならMyISAMでもいいとは思うけど。 トランザクションやロック処理などが必要ない場合など、MyISAM形式にも良いところはあるので検討してみる価値はあるかもしれません。 これだけの指摘だとちょっと微妙な気がするです。 MyISAMの使いどころってのは、 ピンで他とリレーションが無い単純追記系のテーブル リレーションがあり、同一トランザクション内での更新系クエリが存在する場合は、トランザクションが期待通りに動かないので、基的にはInnoDBと混在させるべきではない

    Re: MySQL最適化のミニtips - 日向夏特殊応援部隊
  • 徒然なるままにBlog - Apacheチューニング: ロギングを高速化する

    あまり知られていません(と思われる)がApache2(2.0.41以降)にはアクセスログの書き出しをメモリにバッファリングし高速化させるという機能があります。 今回はその機能を有効にするとどれぐらい速くなるのか調べてみました。 設定方法はhttpd.confに BufferedLogs On と追加するだけでログのバッファリングが有効になります。 以下ベンチマークを取った結果です。 バッファリング無効984 Request/Sec バッファリング有効1033 Request/Sec (参考)ロギング無し1055 Request/Sec ※小さなhtmlファイルに対してab -c 100 -n 1000を何度か繰り返した結果の平均です。 体感では違いを感じられないとは思いますがベンチを取るとおよそ5%程Request per secondの値が上がっていました。 静的なファイルが

  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • Optimaze! - 3ping.org

  • KOSHIGOE学習帳 - [php]PHPのコーディング中に意識すべきコスト

    適切であるか不明。それっぽい言葉を並べています。 クラスの継承ツリーをたどるコスト 派生クラスのオブジェクトから親クラスのメソッドを呼び出す場合など スコープを超えるコスト 関数のローカルスコープからグローバルスコープにアクセスする場合など オブジェクトプロパティにアクセスするコスト オブジェクトプロパティを操作するためにプロパティにアクセスする事になる 未定義定数を使うコスト 配列キーの指定に未定義定数を使う場合など 変数初期化のコスト 未定義変数を操作する際に、初期化コストが加わる 未定義定数を利用する際に、コストがかかる ループ宣言内で使われる関数実行のコスト for文の条件式に関数を使う場合 PHPエラーに関するコスト NoticeやWarnningが発生する場合や、@によってエラーメッセージを抑制する場合など 文字列操作関数のコスト 同様の結果を得られる関数でも、コストに差がある

  • Blog::koyhoge - PHPのコードキャッシュがなぜ速いのか

    Matzにっきから。 私の理解が正しければ、スクリプトキャッシングは、プログラムのロード時に構文解析を行い、内部的に用いる中間表現に変換したものを保存しておくことにより、構文解析のコストを削減し、高速化を実現する技術である。PHP以外にもたとえばPythonが同様のことを実現している (でも、Pythonは1.3倍とか言ってない)。 PHP - スクリプトキャッシング まず、mod_php内でのスクリプトの実行が終了すると、特別な場合を除きすべての環境がリセットされます。再度同じスクリプトを実行すると、ファイルから読み直しになるので、構文解析をすっ飛ばせるのはそれなりにメリットがあります。 PHP界では「コードキャッシュ」という用語が定着していますが、Zendの製品などのコードキャッシュプログラムは、単純に内部opcodeをメモリ/ファイルにキャッシュするだけではなく、実行コードの最適化な

    Blog::koyhoge - PHPのコードキャッシュがなぜ速いのか
  • include_pathを探しにstat()を呼びまくるのを眺める - おぎろぐはてブロ

    id:koyhogeさんのPHPのコードキャッシュがなぜ速いのか - Blog::koyhoge::Techから。(先日はありがとうございました m(__)m) 「PHPは内部でstat()を呼びまくっているので遅い」とのことですので、include_pathの後ろの方のディレクトリにあるスクリプトファイルを大量にrequireしていたりすると、それだけでコードキャッシュのメリットが出てくるのかもしれません。 PHPのコードキャッシュがなぜ速いのか - Blog::koyhoge::Tech どのレベルからキャッシュが利用されるのかは、ちょっと記憶が無いので、コードを読み直さないとダメなのですが、「stat()を呼びまくって遅い」のstat()が爆発的に呼ばれる動きを軽く説明?したいとおもいます。(早く寝なきゃと適当に書いてるので、説明になってない。。ーー;いかんせん、こういうのあまりやら

    include_pathを探しにstat()を呼びまくるのを眺める - おぎろぐはてブロ
  • 12 PHP optimization tips - alex.moskalyuk

    Ilia Alshanetsky’s PHP performance talk given last week at the Zend conference is pretty useful as far as getting small tips for tweaking PHP code. If a method can be static, declare it static. Speed improvement is by a factor of 4. Avoid magic like __get, __set, __autoload require_once() is expensive Use full paths in includes and requires, less time spent on resolving the OS paths. If you need t

  • ウノウラボ Unoh Labs: PHP最適化tipsまとめサイト

    こんにちは。親知らずを抜いて離乳三昧のyukiです。GWの暴飲暴から脱し、ダイエットするには好都合ですね。すいません。負け惜しみです。 さて、今回は「PHPのちょっとしたコツ」の続きネタで、PHP最適化Tipsまとめサイトの紹介です。 これらは既に有名なサイトで紹介されていたり、常識の範囲かもしれませんが、ひとつでも有用に感じていただければ幸いです。 そして英語が極端に苦手なため、意訳突っ込み等あれば宜しくお願い致します。 PHPの最適化 12 PHP Optimization tips (元ネタはこちらでしょうか? http://www.ilia.ws/files/zend_performance.pdf) staticが使えるなら、staticを使う。速度は4倍になる。 __get, __set, __autoload は避ける。 require_once() はコストがかか

  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • dublish.com - Simple Optimization for PHP and MySQL

    Simple Optimization for PHP and MySQL Saturday April 29 2006 03:23 Here is a list of a few very simple tips for optimizing your php/mysql applications. Keep these in mind while developing. MySQL MySQL is interpreted from right to left so you should put the most significant limiters as far to the right as possible. Only select fields you need, instead of selecting * (everything). Don't put things t

  • 1