2016-04-29 8 views
0

私の学士論文のために私はいくつかのコンテナランタイムをテストする必要があります。 Docker、Lxc、runC、Rocket、OpenVZのように。コンテナをベンチマークする方法は?多くのリクエスト、モニタメモリとCPU使用量

私のテストプロトコルはシンプルですが、私はテストやベンチマーキングをしたことがないので、私はnewbです:-)と申し訳ありません。私のテストが関連しているかどうか教えていただけますか?

それで簡単です。nginxサーバーでコンテナを起動し、index.phpファイルをマウントします。私はphpinfo()を書きます。そして私は、メモリ使用量とCPU使用量とネットワーク使用量を監視します。

最初にリクエストが0回、次にコンテナが崩壊するまで多くのリクエストがあります。したがって、すべてを監視する必要があります。

私はいくつかのツールが必要で、たくさんのリクエストや監視用のコンテナを送信するために何を使うべきかはわかりません。誰かが私を少し助けることができるなら、それは素晴らしいでしょう。

答えて

0

Siegeを使ってかなり成功しました。インストールと使用が非常に簡単で、サーバをかなり激しく攻撃するために使用できます。

siege -u yoursite.com/docker-test/ -d1 -r10 -c25

25の同時ワーカーがそれぞれの要求の間に0と1秒との間の遅延とサーバを10回ヒットする作成します。

構成ファイルを使用して、緩やかに増加するテストなど、より複雑なテストを作成できます。その後、それを実行して、リソースを監視することができます。ログに基づくリアルタイムの統計情報を提供するためのnginx(あなたのボトルネックになる可能性は低い)用の便利なツールはngxtopです。私はこれまでに使ったことがあり、失敗がどこで発生するのかテストするのに役立ちました。

コンテナ/ランタイム自体を監視する場合は、しばしばいくつかのことを探しています。メモリ/ CPU使用率(topまたはpsなどのツールから簡単に入手できます。これはLinuxで教えてください)、応答率、および障害率です。リクエストレートが上がるにつれて、何らかの他の理由(メモリ不足など)が原因でタイムアウトまたは失敗するまで、応答が長くなることがあります。あなたがしなければならないことは、特定の負荷の下で各コンテナタイプにどのように障害が発生したかを追跡することです。私はそれをあなたに任せます。