2

pylot を使用して、作成した Web アプリのストレス テストを行っています。このテストは、アプリにログインしている 100 人のユーザーをシミュレートし、テストは 200 秒続きます。平均して、約。サーバーに対して 4800 のリクエストが行われ、MySql に対して同じ数の接続が行われ、それぞれが 5 つのクエリを実行するため、テスト中は 24K のクエリについて話していることになります。

クエリは単純で、テーブルのデータはほとんどありません。問題は、テスト中に Web からアプリにアクセスできないことです。MySql に接続できないか、応答時間が非常に遅いです。テストは、私の PC にある CentOS VMware イメージ (512 MB のメモリが割り当てられている) で行われていることに注意してください。

以下、テスト結果です

リクエスト: 4809 エラー: 1 平均応答時間: 3.358 平均スループット: 23.53 現在のスループット: 420 受信バイト数: 193028

接続エラーはローエンドのテスト環境が原因だと思いますが、より多くの接続を受け入れるように MySql を調整する方法はありますか?

ありがとう。

4

2 に答える 2

0

エラーの詳細を試してみてください。結果を確認するか、Webサイトにログを追加してください。

于 2010-02-18T23:05:32.353 に答える
0

接続プールを使用していますか?

MySQL の最大接続数は、本当に不足している場合は簡単に増やすことができます。MySQL インストール ディレクトリの my.ini または my.cnf でこのブロックを探してください。

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.

max_connections=500

接続プールを使用する場合、そのサイズを MySQL が使用できる 500 個のうち 250 個に制限できます。これにより、250 個の「スペア」プールがあり、Web アクセスが確実に接続されます。ログイン プロセスに 100、データ読み取りに 100、データ書き込みに 100 などを与えることは非常に独創的ですが、これは明らかにアプリケーションの設計に大きな影響を与えます。

于 2010-02-23T10:36:55.787 に答える