タグ

performanceに関するpoppenのブックマーク (47)

  • Rails 2.0 » Railsで開発するときにはキャッシュを予め想定に入れておく

    Archives 2008年 5月 2008年 4月 2008年 3月 Category Amazon (2) Tips (7) Web API (1) Webサイト (1) エディタ (1) オープンソース (1) プラグイン (6) ホスティング/サーバ (1) 開発 (6) Meta ログイン RSS コメント RSS Valid XHTML XFN WP リンク MOONGIFT Open Service Cool Coding MOONGIFTブログ Resident of Net via En attendant Jérémie on Flickr - Photo Sharing! 今回、まともにキャッシュを使おうと思い始めたのですが、ある程度組み上げた段階でキャッシュを組み入れようとすると色々問題が起こることが分かりました。まず知識としては、Railsのキ

  • Ruby on Railsのパフォーマンス向上に関する10のtips:

    という記事があった、色々と面白かったので訳してみる。良いとこも悪いとこもあると思うけど参考までにメモとして 元記事:Top 10 Ruby on Rails performance tips Rubyの基的なコードを見直してみる自分で作ったクラスよりもできるだけ組み込みのクラスライブラリを使うできるだけ正規表現を使用する、文字列処理にコストの高いループは避けるREXMLは遅いのでLibxmlライブラリを使用する (Cで書かれたXMLパーサらしい、環境に依存するのは嫌かもしれない)if文の多用は避ける、例えば||=を使う ( z||="none" で unless(z){ z = "none" })Hashはコストが高いので他のデータ構造を検討してみる (でも使いたいときあるよね?)キャッシュを有効活用する acts_as_cached でModelをキャッシュ化してみる(PDF資料

  • 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(),

  • Performance Tuning PostgreSQL

    Introduction PostgreSQL is the most advanced and flexible Open Source SQL database today. With this power and flexibility comes a problem. How do the PostgreSQL developers tune the default configuration for everyone? Unfortunately the answer is they can't. The problem is that every database is not only different in its design, but also its requirements. Some systems are used to log mountains of da

    Performance Tuning PostgreSQL
  • ウノウラボ Unoh Labs: mod_expires と mod_rewrite を使ってウェブサーバへのアクセスを減らす方法

    最近、雨の日が続いて自転車通勤ができていない naoya です。 今日は、先週ぐらいからフォト蔵に導入した Apache で mod_expires と mod_rewrite を使ったウェブサーバへのアクセスを減らす方法を紹介します。 通常のウェブサーバは、更新されていないリリースに対してアクセスすると、ステータスコード 304 とIf-Modified-Since ヘッダをつけて応答データを返しますが、CSSJavaScript など比較的更新頻度の少ないファイルに対して、毎回応答を返すのはウェブサーバから見ると無駄なアクセスです。 Apache の mod_expires と mod_rewrite を使うと、この無駄なアクセスをブラウザキャッシュを有効活用にすることにより、静的なファイルに対するアクセスを減らすことができます。 まず、仕組みから説明すると、とても単純で mod

  • cyano: mod_expiresとmod_rewriteを使ってサイトの帯域節約と体感速度を向上させる方法

    普通の帯域節約術としては、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を

  • 404 Blog Not Found:あなたのページを最速にする14の掟

    2007年05月11日18:45 カテゴリiTech あなたのページを最速にする14の掟 人気Webサイトの管理人、必読。 紹介ページ: 14 rules for fast web pages (Skrentablog) PPTのスライド: http://www.web2expo.com/presentations/webex2007/souders_steve.ppt 実は、これらはYahoo!の"Chief Performance Yahoo!"(当にそういう役職名)であるSteve Soudersによる以下のblog entriesをまとめたもの。 Performance Research, Part 1: What the 80/20 Rule Tells Us about Reducing HTTP Requests Performance Research, Part 2:

    404 Blog Not Found:あなたのページを最速にする14の掟
  • ウノウラボ Unoh Labs: オープンソース戦略により、無償で使えるようになった負荷テストツール

    こんにちは! やまもと@テスト番長です。 ウノウラボのコメント欄まで熟読されている慧眼な方は既にお気づきかもしれませんが、WebLOADという商用の負荷テストツールがオープンソース化され、無料で利用出来るようになりました。 http://www.webload.org/ 以前自分が書いた WEBアプリのテストに必須なツール7種のエントリにsaltysonicさんがコメントで教えてくださいました。ありがとうございました! souceforge.net を探してみたところ、見つかりました。 WebLOAD 早速触ってみていますが、さすがに元商用だけあって多機能なようです。 関連記事も探してみたところ、以下のものが見つかりました。 http://news.earthweb.com/ent-news/article.php/3670176 http://www.testingreflec

  • How to scale your web app

    Scaling web applications, as present at Barcamp London 2 by George PalmerRead less

    How to scale your web app
  • perl - リスト代入vsスケーラー代入 : 404 Blog Not Found

    2007年05月04日00:00 カテゴリLightweight Languages perl - リスト代入vsスケーラー代入 これを見て、一般的な場合はどうだったかが気になった。 TokuLog 改め Perl を極めて結婚するブログ - アホにもわかる memcached の get_multi がなぜ速いかについての解説 $m->get_multi("a", "b", "c") すると、{a => $m->get("a"), b => $m->get("b"), c => $m->get("c")} と同じ結果が得られるんだけど、get_multi の方が圧倒的に速い。それで、ベンチマークしてみたのが、以下の結果。scalarでもlistでも結果を返す関数に対して、一つ一つ代入するのと、リストで一度に代入するのとどちらが速いかを比較してみた。ここで使った関数は、sub{ wanta

    perl - リスト代入vsスケーラー代入 : 404 Blog Not Found
  • Rails 1.2と1.1、速いのはどっち? - Railsbenchによる性能レポートを公開 | エンタープライズ | マイコミジャーナル

    Stephan Kaes氏は4月1日(ドイツ時間)、Railsbenchの最新版となる「Railsbench 0.9.2」を公開した。Railsbenchは「Ruby on Rails(以降、Rails)」で開発されたアプリケーション向けのベンチマークアプリケーション。新版ではPOSTリクエストのベンチマーク機能が追加され、指定したセッションデータに関するベンチマークを実施できる。 同氏は、同時にRails 1.2-stableとRails 1.1-stableの性能比較レポートを公開。以前のレポートで「Rails 1.2がRails 1.1に比べて2倍ほど遅い」と指摘したのは間違いだったこと、現在のRubyインタプリタではRailsのコードが肥大した場合にスローダウンは避けがたいことなどに触れている。また、インタプリタの性能問題に関しては、YARV(Yet Another Ruby VM

  • Top 10 Ruby on Rails performance tips

    The performance of Ruby on Rails is influenced by many factors, particularly the configuration of your deployment server(s). However the application code can make a big difference and determine whether your site is slow or highly responsive. This short article is about some of the tips and best coding practices to improve performances in Rails only, and won’t attempt to cover the server configurat

    Top 10 Ruby on Rails performance tips
  • [Rails] *.rhtmlでrender :partialを使うとめちゃくちゃ遅いので対処する方法

    Posted by masuidrive Mon, 01 Jan 2007 11:37:00 GMT 過去に作ったRailsアプリがどれも遅いので、色々ベンチマークなどを取ってみると、予想以上にviewの部分が遅いことが判明。 なんでveiwが遅いのか、さらに調べていくとrender :partial => “hogehoge”がかなり遅いっぽい。特にループの内側にあったり:collectionを指定すると激遅。ソースを読んでないので全くの憶測だけど、毎回ERBをファイルから評価してないか? 試しに、1つのページに5つある(うち一つは:collectionで10回ループ) render :partialを手で展開して実行してみると、apachebenchで1.3倍(19reqs/sec→24.7reqs/sec)になった。これはかなり効果が高いんだけど、メンテナンス性が著しく落ちるので、他

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

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

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

    BSD firewall / Router Performance Goals of this testing was to understand the following : 1) the new em driver to make sure it works well for me and give it a good shake out under load for RELENG_6 2) understand the implications of various configs on forwarding performance of SMP vs UP vs Polling vs Fast Interrupts and to avoid livelock when there is a lot of pps. For more discussion, see http://l

  • Sys Admin > Which OS is Fastest for High-Performance Network Applications?

    CD-ROM Sys Admin and The Perl Journal CD-ROM version 12.0 Version 12.0 delivers every issue of Sys Admin from 1992 through 2006 and every issue of The Perl Journal from 1996-2002 in one convenient CD-ROM! Order now! Which OS is Fastest for High-Performance Network Applications? Jeffrey B. Rothman and John Buckman Figure 1 | Figure 2 | Figure 3 | Sidebar 1 | Sidebar 2 In this article, we

  • mysql を高速化したいときに読むメモ (TechKnowledge)

    給料の振込口座として三井住友銀行に口座を持っています。自動支払いサービスを使用して光熱費等の公共料金の支払いをしていますが、先日それらの内の一つを失念してたことに気づきました。口座を確認した時にはすでに引き落としが完了していたため、手元の資金が心細くなった状態で数日を過ごさなければなりません。三井住友銀行で即日キャッシングが可能であれば、是非利用したいのですが。 運が良ければ、三井住友銀行の即日キャッシングは可能 三井住友銀行の特徴はまずクレジットカード会社との連携したサービスが魅力的なことがあげられます。キャッシングでは銀行カードローンですから、何より安い金利が大きい利点になります。概ね銀行系の審査に必要な時間は長くなるようですが、三井住友銀行ではカード発行が当日に行なってくれます。 三井住友銀行は即日キャッシングができるかと言うと微妙なことになります。申込から審査結果の連絡までは、土日

  • MySQL

    HeatWave Use automated and integrated generative AI and machine learning (ML) in one cloud service for transactions and lakehouse scale analytics. Get faster insights from all your data with unmatched performance and deploy apps in your choice of cloud providers. Learn More » MySQL Enterprise Edition The most comprehensive set of advanced features, management tools and technical support to achieve

  • 12のPHP最適化テクニック:phpspot開発日誌

    12 PHP optimization tips 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. PHP最適化テクニックが紹介されていましたので以下にまとめてみました。 staticメソッドが使えるなら使おう。速度は4倍になる __get, __set, __autoload は使わない require_once は重い include, requireで読み込むファイルはフルパスにしよう スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる strncasecmp関数やstrpbrk関数を使えるケースは

  • 「コネクションプーリング都市伝説」はほんとに都市伝説?(その3) - 最速配信研究会(@yamaz)

    前回のシリアル/パラレル処理の視点に立ってコネクションプールについて考えてみたい. コネクションプールが遅いとは はてなおやさんが考察しているように 普通にmod_perl でコネクションプールを素直に張るとコネクション数が爆発する. 図にすると図1のような感じで個々のapacheがコネクションを複数持つので,サーバ台数が増えるとコネクション数が飛躍的に増えることがわかると思う. 図1 コネクションが爆発してる様子(正直書くのも大変) コネクション数が増えると単純にコネクションを維持するコストも増えていくので, このあたりが「コネクションプーリング都市伝説」の根拠になっていると思われる. これはこれで全くその通りで間違いない. さて,ここでもうちょっと大きな視点に立って,クライアント<->サーバ間の通信路が 1個の伝送路をパケットによって多重化しているととらえてみたい.そうするとここで シ

    「コネクションプーリング都市伝説」はほんとに都市伝説?(その3) - 最速配信研究会(@yamaz)