-->

2013-08-26

ab と gnuplot の例

ファイルサイズ。(サンプル結果含む)
466M    gnuplot.2013-08-25_230027/
13M     gnuplot.2013-08-25_230027.tar.bz2

使用法。レスポンスのbodyが同じURLを用意します。
$ grep -A6 -n "\$urlList =" make.php
111:    $urlList = array(
112-        "apache-worker_mod-php" => "http://192.168.0.110/test/gnuplot/test001.php",
113-        "pecl-event_php-cli" => "http://192.168.0.110:8010/",
114-        "tomcat" => "http://192.168.0.110:8080/test001/hello",
115-        "nodejs" => "http://192.168.0.110:8124/",
116-        "pecl-libevent_php-cli" => "http://192.168.0.110:2000/",
117-        );

phpコマンドを用意します。
$ php -v
PHP 5.4.17-pl0-gentoo (cli) (built: Aug 16 2013 22:08:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

必要があればフォントを用意します。もしくは変更かコメントアウトします。
$ grep -n "putenv" make.php
10:putenv("PATH=/usr/bin:/bin:/usr/sbin");
300:        putenv("GDFONTPATH=/usr/share/fonts/mplus-outline-fonts/");
301:        putenv("GNUPLOT_DEFAULT_GDFONT=M+2P+IPAG");

実行します。
N=10000 && for C in 5 15 45; do php make.php $N $C; done &

サンプルの結果ではpecl-eventが有利です。
しかしwebサーバとabとブラウザなどの色々な動作が一緒に動いているサーバの状態なので参考です。
なおEventHttp::setCallbackはメモリリークするようです。setDefaultCallbackで代用可能ですが。

gnuplotの設定はデータからグラフ表示だけする場合は複雑ではないです。
日本語も試したら使えました。
データは TIMESTAMP, data1, [data2 ...] のように2種類以上のデータであればグラフっぽくできます。

例えばsiegeがurllistとlogfileがあるようなので、複数のurlを指定する場合ab以外のほうが良いです。

ソースはhttp://www.php.net/manual/en/event.examples.phpのExample #8 Simple HTTP server です。

pecl-libeventのほうはstream_socket_serverのbacklogが128固定なのが関係が深いかもしれません。
ソースはhttps://gist.github.com/joseph-montanez/1122992です。
http://php.net/manual/en/libevent.examples.phpのServer example:です。

nodejsはhttp://nodejs.org/api/synopsis.htmlです。
apache(mod_php)とtomcatはprintを実行するだけのソースです。

https://docs.google.com/file/d/0BwK7sPpG0c5Zbjh6ZjhXenhxanM/edit?usp=sharing



参考URL.
http://blog.tojiru.net/category/10170146-4.html

http://blog.tojiru.net/article/225226976.html#more

http://tech.camobile.com/httpd/centos6-2-%E3%81%AB-g-wan-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%88/2036

http://stackoverflow.com/questions/5929104/apache-bench-gnuplot-output-what-are-the-column-definitions

http://stackoverflow.com/questions/937627/how-to-redirect-stdout-to-a-file-in-php

http://folk.uio.no/hpl/scripting/doc/gnuplot/Kawano/plot2.html

http://dsl4.eee.u-ryukyu.ac.jp/DOCS/gnuplot/node162.html

http://www.kusastro.kyoto-u.ac.jp/~moritani/etc/memo/gnuplot_memo.html

http://www.obihiro.ac.jp/~suzukim/masuda/utils/gnuplot.html

http://satococoa.github.io/blog/2012/10/25/performance-test-with-httperf/

http://memo.yomukaku.net/entries/394J1JB

http://higelog.brassworks.jp/?p=562

http://www5a.biglobe.ne.jp/~nkgwtty/nn_gnuplot.html

http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/label.html

http://squeeze.jp/blog/web-design/heading-design-css-only/

http://www.gnuplot-cmd.com/chart/label.html

http://d.hatena.ne.jp/ks88/20100110/1263127086

http://d.hatena.ne.jp/UDONCHAN/20101116/1289891757

http://www.netplan.co.jp/archives/1559

http://dsl4.eee.u-ryukyu.ac.jp/DOCS/gnuplot/node82.html

http://www.deqnotes.net/gnuplot/labels

http://d.hatena.ne.jp/sobasobasoba/20091212/1260613135

http://nemf.info/2011/07/how-to-make-a-graph-from-vmstat-by-gnuplot/

0 件のコメント: