タグ

チューニングに関するbasiのブックマーク (15)

  • 大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~

    11月25日、「mobidec 2011」においてコナミデジタルエンタテインメントのスタジオITセンター長である正延光弘氏によるセッション「大ヒットSNSゲーム『ドラゴンコレクション』を支えるコナミのクラウド技術の活用」が行われました。 ドラゴンコレクションは、GREEで提供されている携帯電話向けのカードゲームタイプのRPG。プレイヤーは、エリアごとにある複数のクエストをクリアしていき、モンスターカードや「秘宝」を手に入れ、さらに「ドラゴンカード」を集めていきます。また、ほかのプレイヤーとバトルすることでも秘宝を入手できるというSNS要素も取り入れられていました。2010年9月のサービス開始後、順調にプレイヤー数を伸ばし、現在では登録人数が500万人を超えています。 サービス開始当初は社内でサーバを構築し、フロントエンドに6台のサーバ、バックエンドに3台のデータベースサーバ、そしてロードバ

    大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~
  • JavaScriptの最適化について、code.google.comの記事の適当訳 - それ図解で。・・・tohokuaikiのチラシの裏

    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の実践的な知識 クライ

    JavaScriptの最適化について、code.google.comの記事の適当訳 - それ図解で。・・・tohokuaikiのチラシの裏
  • Webサイトを手軽に高速化する·Web Optimizer MOONGIFT

    Yahoo!のYSlow、GoogleのPage Speed等でWebシステムのパフォーマンスをチェックすると色々な改善ポイントが見えてくるだろう。だが実際どれから手をつけるべきか、どのように行うべきか判断するのは難しい。 Webブラウザ上からWebシステムを最適化 そこで使えるのが設定の自動化ツールだ。色々なWebシステムに対応したWeb Optimizerを紹介しよう。 今回紹介するオープンソース・ソフトウェアはWeb Optimizer、手軽に使えるWebサイトパフォーマンス向上ツールだ。 Web OptimizerはPHP製のWebシステムで、Webサイトを簡単に最適化してパフォーマンスを向上してくれる。主にPHPのシステムが対象で、WordPress、Joomla、Drupal、Typo3、PHP Nuke、Zend Framework、Symfony、Textpattern、p

    Webサイトを手軽に高速化する·Web Optimizer MOONGIFT
  • PHPで冗長化したコードを自動で検出してコードの最適化に使える「PHPCPD」:phpspot開発日誌

    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

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • Pure JavaScript Template Engine その弐 - mixi engineer blog

    どうも、こんにちは。hirokiです。前回は、HTML::Template::ProのJavaScript実装を紹介させていただきました。今回はその実装部においてのちょっとした工夫についてと、Webフロントエンドのパフォーマンスチューニングについて簡単にまとめさせていただきます。 正規表現の話 通常、テキストベースのDSL評価系を作成する際にはyacc/lexなどで文法記述を行うのが定石なんですが、 シンプルな文法であること 構文木の評価からコードジェネレートに方向性を転換した テキストマッチングの回数や高速化のための制御がしやすい などの理由から、HTML Template(JavaScript)では正規表現ベースの文法解釈を行っています。( HTML::Template::Proのyacc文法ファイルをそのまま使えば記述は楽だったのですが...)以下に実際に利用している正規表現を示しま

    Pure JavaScript Template Engine その弐 - mixi engineer blog
  • hail2u.net - Weblog - 圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く

    Windows XPの圧縮フォルダというほとんどの人が使っていないと思われる機能(私見)を解除したら、エクスプローラがキビキビ動くようになった気がする。というようなことを某所で言ったら、試した人が「すげぇかるくなった kyo++」とかインクリメントしてくれたので、エントリにしておこうとか。 圧縮フォルダ機能の解除の方法は、コマンド プロンプトで、 regsvr32 /u zipfldr.dll regsvr32 /u cabview.dll と、入力してやるだけ。多分再起動は必要ない。 これにより特にエクスプローラのツリー表示なんかが高速化する気がする。エクスプローラ以外ではファイラーっぽいので特に高速化する感じで、僕の環境ではACDSeeのツリー表示がとんでもなく高速化した。 また、デフォルトの検索機能が圧縮フォルダ内を探さなくなるため高速化し、いつまでたっても終わらないということは少な

    hail2u.net - Weblog - 圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く
  • Best Practices for Speeding Up Your Web Site - Yahoo Developer Network

    Best Practices for Speeding Up Your Web Site The Exceptional Performance team has identified a number of best practices for making web pages fast. The list includes 35 best practices divided into 7 categories. Minimize HTTP Requests tag: content 80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, styleshee

  • RDBMSは死にましぇん - ねこかわいい

    RDBMSがクラウドコンピューティングに殺されるらしいです。 とくに組み込みDBから死ぬらしいです。 HDDはSSDにとってかわられるらしいです。 http://d.hatena.ne.jp/nowokay/20081212#1229071535 SSDに対しての反論と、組み込みDBが死ぬことに対しての反論。 RDBMSはサーバから死ぬらしいです。 http://d.hatena.ne.jp/kazuhooku/20081212/1229077256 どっちもびみょいとおもいます。一応、毎日ウェブアプリをごりごり書いており、なおかつORDBMSをばりばり利用している身として、気になる点をだらだらかくよ。 大規模システムはRDBMSからクラウドへ、それ以外はひきつづきRDBMSRDBMSの一番大きな問題点は、いまさらですがスケーラビリティです。このへんははてなとかmixiの技術ネタを読め

    RDBMSは死にましぇん - ねこかわいい
  • ウノウラボ Unoh Labs: Apache MPM の基礎をしっかりと理解しよう!

    naoya です。最近、とうとう花粉症の季節に入ったので、生まれて初めて空気清浄機を購入しました。 さて、今日は Apache HTTP サーバの MPM (Multi Processing Module) について解説したいと思います。普段、ウェブサーバを構築するとき、Apache HTTP サーバを使うことが多いと思いますが、Apache HTTP サーバを使う上で MPM について理解しておくことは大事です。 この MPM ですが、Apache HTTP サーバではリクエストを処理する部分のことをさします。MPM は、Apache HTTP サーバ 2.0 系から採用されています。Apache HTTP サーバの MPM には、次の種類があります。 prefork worker perchild winnt それぞれの MPM について解説します。まずは、一番代表的な prefork

  • Linuxチューニング 第1部第1回 ファイル・アクセスを高速化:ITpro

    ファイルの入出力性能の改善は,システム全体の処理速度向上に大きく貢献する。高速なプロセッサを搭載する現在のコンピュータでは,ファイルのアクセス速度がシステム・パフォーマンスのボトルネックになっているためである。不要なディスク・アクセスの削減とアクセス速度そのものの向上が,チューニングの要となる。 アクセス時刻の記録を省略しファイル読み込みを高速化 ファイルにアクセスしたときには,最終アクセス時刻が属性情報として記録される。この情報を記録しないように設定することで,ファイルの読み込み速度を向上できる。最終アクセス時刻の記録を止めるには,ファイル・システムのマウント時に,noatimeオプションを指定する。ベンチマークでは,読み込み速度が2倍強に改善できた。 atimeは無駄 LinuxなどのUNIX系OSでは,statやfstat,lstatというシステム・コールを使って,ファイルの属性情報

    Linuxチューニング 第1部第1回 ファイル・アクセスを高速化:ITpro
  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を 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

    PHP コード最適化 Best Practices 63+ - カタコト日記
  • Kazuho@Cybozu Labs: MySQL の ORDER BY を高速化

    « MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 | メイン | なんとなくリフレクション in C++ » 2008年06月20日 MySQL の ORDER BY を高速化 Pathtraq の拡張にむけて、いろいろ技術的な可能性を調査していると、MySQL の ORDER BY に負荷がかかっていることが分かりました。他にもボトルネックはあるのですが、ここは比較的最適化しやすそうだったので、試しに書いてみました。 mysql51-sort-opt.patch やっていることは、ソートルーチンのベタな最適化です。ORDER BY 句によって悪名高き filesort が実行される場合に、最大30%〜50%ほど高速に動作するようになりました。ただ、自分が書く類いのクエリだと、質的には top n sort を実装すべきなので、どうしたものかと思っていま

  • Kazuho@Cybozu Labs: MySQL のクエリ最適化における、もうひとつの検証方法

    « メッセージキュー事始め with Q4M | メイン | フレンド・タイムライン処理の原理と実践 » 2008年06月09日 MySQL のクエリ最適化における、もうひとつの検証方法 EXPLAIN を使用して MySQLSQL を最適化するというのは、良く知られた手法だと思います。しかし、EXPLAIN の返す結果が、かならずしもアテになるわけではありません。たとえば、以下のような EXPLAIN を見て、このクエリが最適かどうか、判断ができるでしょうか。私には分かりません。 mysql> EXPLAIN SELECT message.id,message.user_id,message.body FROM message INNER JOIN mailbox ON message.id=mailbox.message_id WHERE mailbox.user_id=2 OR

  • 1