文書の表示以前のリビジョンバックリンクブックに追加文書のコピーPDF の出力文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ===== 応用プログラミング ex5 演習課題 ===== ==== 1. Apache Bench を用いた httpServer.py(httpThreadServer.py)の処理能力の計測 ==== - 自分の計算機上で httpサーバプログラム httpServer.py(または httpThreadServer.py)を実行し、Apache Bench を用いて実行したサーバの処理能力を以下の条件に従って計測しなさい。 - 同時接続数: 5 - 1接続あたりのリクエスト:20 - 接続先ホスト:localhost - 接続先ポート:任意 - リクエストするリソース名: /server.html - 計測するサーバプログラムは、httpServer.py を修正したもの(httpServer2.py や httpThreadServer2.py など)でも構いません。 ==== 2. 同時接続数を変化させて応答速度を計測してグラフを作成する ==== <WRAP tip 100% center> - 自分の計算機上で httpサーバプログラム httpServer.py(または httpThreadServer.py)を実行し、Apache Bench の同時接続数(-c オプション)のみを変化させたときのサーバの処理能力の変化を計測しなさい。 - サーバの計測は以下の条件に従いなさい。 - 同時接続数: 1〜10 - 総リクエスト数:100 - 接続先ホスト:localhost - 接続先ポート:任意 - リクエストするリソース名: 任意 - 計測するサーバプログラムは、課題に応じて httpServer.py を修正したもの(httpServer2.py や httpThreadServer2.py など)でも構いません。 - httpサーバに対して、次の2つの値を同時接続数ごとに計測し、計測結果をグラフにまとめなさい。 - 1接続あたりの処理時間:Time per request(mean) - (接続数を加味しない)1リクエストあたりの処理時間:Time per request(mean, across all concurrent requests) - 作成するグラフは、表計算ソフト(MS エクセル, LibreOffice Calc, Googleスプレッドシート、など)やグラフ描画ソフト(Gnuplot, Python matplotlibライブラリ(教科書 12章)、など)を利用し、横軸を同時接続数、縦軸を処理時間(msec)とた以下のようなグラフとする。 - <wrap em>Apache Bench による計測結果のグラフTAに示し(グラフの画像ファイルなどをTeamsチャットで送信し)、そのグラフとグラフから読み取れる結果をTAに説明しなさい。</wrap> {{ ..:private:ab_ex5-2.png }} <WRAP centeralign 100%>**httpThreadServer.py の同時接続数を変化させたときの応答時間: 紫:1接続あたりの応答時間(msec)、緑:1リクエストあたりの応答時間(msec)**</WRAP> <note hint>/roes/sample/sano/apro/abtest_ex5-2.sh にこの計測実験のためのシェルスクリプトのサンプルがあります。このシェルスクリプトは使っても(使わなくても)構いません。 シェルスクリプトは、 <code>$ bash abtest_ex5-2.sh</code> のようにして利用(実行)できます。 </note> </WRAP> ==== 3.テストケース1、テストケース2での実験 ==== - 講義中に示した「テストケース1(ex5スライド9ページ)」、または「テストケース2(ex5スライド11ページ)」(あるいは両方)の条件にしたがって Apache Bench による httpサーバの反応時間を計測し、結果をグラフにまとめなさい。 <note hint>/roes/sample/sano/apro/abtest.sh に実験のためのシェルスクリプトのサンプルがあります。</note> lecture/apro/2019/ex5.txt 最終更新: 2019/12/17 10:17by sano ログイン