This site uses cookies from Google to deliver its services and to analyze traffic.
この記事では、知覚または計測できるシステムパフォーマンスの向上を最終目的として、パフォーマンスに関連する基本的なシステム診断、及び、リソース消費量の削減やシステム最適化のための手順に関する情報を提供しています。ゲーミングおよび低レイテンシに特有のその他のアドバイスは ゲーム#パフォーマンスを向上させる も参照してください。 基本 システムを知る システムをチューンするには、全体のスピードを下げているボトルネックやサブシステムに狙いを定めるがベストな方法です。システムの仕様を知ることは、それらを特定することに役立ちます。 (LibreOffice や Firefox などの) 巨大なアプリケーションを同時に動作させたときにコンピュータが遅くなる場合、RAM の容量が十分であるか確認してください。以下のコマンドを使って、"available" 列の値を確認してください: $ free -h 起
pandas でそこそこ大きいデータを扱う場合、その処理速度が気になってくる。公式ドキュメントではパフォーマンス向上のために Cython や Numba を使う方法を記載している。 Enhancing Performance — pandas 0.16.2 documentation が、軽く試したいだけなのに わざわざ Cythonや Numba を使うのは手間だし、かといってあまりに遅いのも嫌だ。そんなとき、pandas 本来のパフォーマンスをできるだけ維持するためのポイントを整理したい。 pandas に限らず、パフォーマンス改善の際にはボトルネックの箇所によってとるべき対策は異なる。pandas では速度向上/エッジケース処理のために データの型や条件によって内部で処理を細かく分けており、常にこうすれば速くなる! という方法を出すのは難しい。以下はこの前提のうえで、内部実装からみ
カジュアル!(挨拶) このエントリは MySQL Casual Advent Calendar 2011 の18日目の記事です。 昔、専ら PostgreSQL を使っていた頃、MySQL のクエリキャッシュって簡単に性能上がるしみたいだし羨ましいなあ、と思っていました。そのため、1年ほど前から業務で MySQL を使うようになっても、クエリキャッシュは当然のごとく有効にしておりました。 ところが先日 DSAS開発者の部屋:クエリキャッシュは切ったほうがいいんじゃなイカ? というエントリを読みまして、クエリキャッシュはグローバルロックを獲得するとのこと。これはちょっと検証してみなければなるまい、ということでベンチマークをしてみました。 ベンチマーク結果 結果は別ページにまとめました benchmark script と my.cnf ざっくりと説明しますと、 平均 260 byte/行、1
KLab Advent Calendar 2011 「DSAS for Social を支える技術」の9日目です。 前回は php を動かしている Apache の手前にリバースプロキシを 置く必要性を解説しました。 今日は、 その前の php のプロセス数を絞る設定と合わせて、実際に Apache で 設定する方法を紹介します。 以降、 php を動かしている Apache の事をアプリサーバー、リバースプロキシ+ 静的ファイル配信を行っている Apache の事をプロキシサーバーと呼びます。 基本設定 まずは基本的な設定のおさらいです。 アプリサーバー 並列数を絞るには MaxClients を設定します。アプリがどれくらいの時間を CPUの処理で使って、どのくらいの時間を外部リソース待ちに使っているかにも よりますが、だいたいCPU数の1.5倍〜2倍くらいが適当だと思います。 Hyp
Linuxで意図的に負荷を与える場合、CPU負荷なら以下のような無限ループを実行したり、ディスク負荷なら大きなファイルを書き込んだりしていました。 $ perl -e 'while (1) {$i++}' しかし、上記の方法だと思ったような負荷を与えることができない場合がありました。 そんな時は、stressコマンドを使用すると良いようです。 stressのインストール まずは、stressパッケージをインストールします。 $ sudo aptitude install stress 負荷を与えてみる $ stress --cpu 4 --timeout 1m 1分間4プロセスで"sqrt()"を実行し、負荷を与えます。 $ stress --hdd 1 -timeout 1m 1分間ディスクに負荷を与えます。 その他にも、"sync()"を実行したり、"malloc()/free()"を
先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT
JSONの発見者でJavScript界の重鎮であるYahoo!のダグラス・クロックフォード(Douglas Crockford)氏。米オライリーが主催するイベント「Velocity 2011」で、セッション「JavaScript & Metaperformance」を行いました。 いまWebブラウザ間でJavaScriptエンジンの性能競争が行われていますが、その影響とこの先の展望について語っています。JavaScriptプログラマなら必見の内容を、公開されたビデオを基に紹介しましょう。 JavaScript & Metaperformance これから、JavaScriptと性能についての本当の話をしよう。 JavaScriptはみなさんご存じかな? いまや世界で最もポピュラーになったプログラミング言語だ。 JavaScriptは、Javaからシンタックスを、Schemeからファーストク
4種のテストツールで構成 サイオスの品質向上フレームワーク (Page2) 品質向上フレームワークを 構成する4種類のツール ◆ 単体テスト 自動化ツール ~Agitar Agitarは単体テスト向けの自動化ツールだ。製品は、本体である“Agitator”と、レポートツール“Management Dashboard”で構成される。 Agitatorは、開発者個々人がローカルで使用するツールで、Eclipseのプラグインとして開発環境内に統合して利用できる。あらかじめテストコードを作成することなく、動的テストを自動実行できることに加え、静的テストではコーディングルールを自動チェックする機能も備える。この機能は開発者が必要な時に操作することで、開発者がローカルで何度でも繰り返し気軽に実行できる点が大きなメリットである。しかも、テスト自体が自動で行われるため、開発者個々のテストスキルの影響を受け
前回につづいてパフォーマンス比較をしてみました。ただし、前回と測定方法変えてます。最適化された状態で計測するため1プロセス内で同じ処理を3回実行して最後の値を取る、ということをそれぞれのテストケースで3回実行して真ん中の値を使っています。 コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/sandbox/doma/trunk/or-mapper-benchmark/ SQLファイルに記述されたSELECT文を使って10000件検索 22,200,648 (nanoTime) : DomaSqlFileSelectDtoTest 39,252,773 (nanoTime) : S2DaoSqlFileSelectDtoTest 68,378,980 (nanoTime) : S2JdbcSqlFileSelectDtoTest 自動
東京エレクトロンデバイス CN事業統括本部は、米Akorri(アコーリ)と国内総代理店契約を結び、AkorriのIT性能管理ソフトウェア「BalancePoint」の国内販売開始を発表した。 BalancePointはアプリケーション・レスポンスを監視し、性能問題の分析やキャパシティ・プランニングを支援するツール。データベースなどのアプリケーション、OS、仮想化ソフトウェア、ストレージにそれぞれ管理アクセスをすることで、自動的に構成、利用、性能関連情報を収集する。 BalancePointは物理環境の管理支援も行えるが、特にターゲットとしているのは仮想化された環境。仮想マシンの動的な移動も発生するサーバ仮想化環境では、アプリケーション、仮想マシン、ハイパーバイザ、ストレージにおけるLUNやRAIDグループの接続関係を追跡し続けることが難しい。このため「思ったようなパフォーマンスが出ない」と
【特別企画】 開発計画における性能の位置づけがもたらす落とし穴 〜エンピレックス「ボトルネックバスターズ」の取り組み(第3回) 2008/03/27 現在のWebアプリケーションには、機能だけではなく高い性能も求められる。 しかし現実のシステム開発では、顧客に求められた機能を実現することが最優先とされ、性能要件を意識した設計や開発をおこない、十分な検証をおこなった上でリリースするケースは多くない。システムがきちんと動くかどうか不安な気持ちでカットオーバを迎えたり、運用時に利用者からのクレームを受けたという苦い経験をした事のある人も、きっと少なくないはずだ。 なぜ、性能に関する問題を抱えたアプリケーションが後を絶たないのか。この問いに答えるべく、エンピレックス株式会社 エンタープライズ・ソリューション・グループ テクニカルコンサルタントの小林喜貴氏に話を聞いた。 性能問題の根本原因、それ
Eclipse profilerプラグインとは Eclipse profilerプラグイン(eclipsecolorerプロジェクト)とは、Eclipse上でプロファイリングを行うためのプラグインです。同様の機能を持つプラグインとして、jMechanic(http://jmechanic.sourceforge.net/)やExtensible Java Profiler(http://ejp.sourceforge.net/)などもあります。 『Java Platform Performance』(注)によれば、プロファイリングとは、以下を明らかにする作業です。 呼び出される回数の多いメソッドはどれか 処理に時間がかかっているメソッドはどれか どのメソッドがそのメソッドを呼んでいるのか どのメソッドがメモリをたくさん使っているか プロファイラを使うと、これらを容易に特定できます。Ecli
How do I Find Out Linux CPU Utilization? 2. vmstat – Virtual memory statistics The vmstat command reports information about processes, memory, paging, block IO, traps, and cpu activity. # vmstat 3 Sample Outputs: procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 9
今更な話題で恐縮ですがmiyagawaさんがものすごい勢いで教えてくれたのでメモっておきます。 mod_proxyでバックエンドにリクエストを投げたとき、リクエストのうち何個かが極端に遅いという現象が起こりました。その時のabの結果は以下。 % ab -c 5 -n 500 http://127.0.0.1:21082/ Percentage of the requests served within a certain time (ms) 50% 1 66% 1 75% 1 80% 1 90% 4 95% 1008 98% 1994 99% 2003 100% 2020 (longest request)なお、今回使おうとしたバックエンドはStarmanです。 多分こんな原因 検証不足で断言はできないのですが、多分以下のような感じ。多分。 Apache のデフォルトのServerLimi
負荷テストツール「vPerformer」の「2週間・仮想ユーザ数無制限ライセンス」提供開始のお知らせ ネットサービス ベリシウム負荷テストツール「vPerformer」の2週間ライセンスのご提供を開始致しました。本ライセンスで負荷をかけることができる仮想ユーザ数は「無制限」です。 <ライセンス価格> 270,000円(税別) 報道関係各位 プレスリリース 2008年04月09日 ライトスピード株式会社 負荷テストツール「vPerformer」の「2週間・仮想ユーザ数無制限ライセンス」提供開始のお知らせ ライトスピード株式会社(本社:東京都千代田区、代表取締役 方波見 豊、以下ライトスピード)が販売する、「ベリシウム」の負荷テストツール「vPerformer」にて、新たなライセンス形態として「2週間・仮想ユーザ数無制限ライセンス」の提供を開始致しますので、下記の通りお知らせ致します。 記 【
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く