3

PHP/Apache/Mysql、Python/Ngix/Postgresql、Erlang/Yaws/Mnesia で 3 つのシンプルなブログ システムを開発しました。

この 3 つの異なる構成について、サーバーのパフォーマンスを測定するにはどうすればよいですか?

4

3 に答える 3

4

Tsungをご覧になることをお勧めします。

彼らのホームページから読む:

HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP、および Jabber/XMPP サーバーに負荷をかけるために使用できます。Tsung (以前は IDX-Tsunami として知られていた) は、GPLv2 ライセンスの下でリリースされたフリー ソフトウェアです。

Tsung の目的は、IP ベースのクライアント/サーバー アプリケーションのスケーラビリティとパフォーマンスをテストするためにユーザーをシミュレートすることです。これを使用して、サーバーの負荷テストとストレス テストを実行できます。多くのプロトコルが実装およびテストされており、簡単に拡張できます。最近、WebDAV、LDAP、および MySQL のサポートが追加されました (実験的)。

複数のクライアント マシンに分散でき、数十万の仮想ユーザーを同時にシミュレートできます (ハードウェアが十分にある場合は数百万も可能です)。

Tsung は、Ericsson が作成した堅牢なフォールト トレラントな分散アプリケーションを構築するためのオープン ソース言語である Erlang で開発されています。

また、Erlang ビットについては、Erlang 効率ガイド のプロファイリング セクションでいくつかのヒントとツールを見つけることができます。

于 2010-03-12T10:05:01.523 に答える
3

パフォーマンスを測定したいという場合は、負荷テスト、応答時間などを意味していると思います。

もしそうなら、あなたはab(apacheベンチ)を使うことができます。その小さなプログラムは、通常LinuxとMacで利用できます。あなたはそれにURLを与え、それを要求する回数を伝え、そしてオプションでそれに他のいくつかのパラメータを与えます。httpリクエストを送信するため、サーバーコードがどのように実装されているかは関係なく、3つのシステムすべてをテストするために使用できます。

これがabに関する詳細情報へのリンクです

abは、各システムが1秒間にいくつのリクエストを処理できるかを示します。単一のメトリックで3つのシステムを比較する場合は、かなり良いものです。

サーバーのどの要素がパフォーマンスを制限しているか(CPU、データベースアクセス、帯域幅)を見つけるには、クライアントマシンではなくサーバー上にあるツールを調べる必要があります。そこで使用するツールはオペレーティングシステムによって異なり、サーバーコードの実装に使用した言語/ツールによって異なる可能性があります。

于 2010-03-12T03:42:35.280 に答える
1

また、httperf ( http://www.hpl.hp.com/research/linux/httperf/ )を使用することもできます。

于 2010-03-12T04:42:00.350 に答える