Entries from 2013-01-01 to 1 year
Furl can do keepalive connection by passing connection pool object to connection_pool option, By default, Furl::ConnectionCache is used. But Furl::ConnectionCache can keep only one connection at once. To do keepalive more one connections. …
深遠な理由で、connect(2) に掛かった時間と、リクエストを送ってレスポンスが得られるまでに掛かった時間を出したい #!/usr/bin/perl use strict; use warnings; use AnyEvent::HTTP; use AnyEvent::Socket; use AnyEvent::DNS::Cache::Simple; use Time::H…
Test::TCP 2.00 drops wait_port_sleep and wait_port_retry argument added at 1.28, and adds max_wait option. Test::TCP waits up to max_wait seconds while stretching the sleep time gradually from 0.001 secondshttps://metacpan.org/release/Test…
nginxを1.2.xから1.4.1にアップデートしたらstub_statusのreadingが0になった 矢印のところでアップデート。telnetでアクセスしたらreading増えたのでこの数字が意味なくなった訳ではなさそう。 何かしら処理が変わったのかしら..
StarmanとStarletの違いはいくつかありますが、Starletにいくつか手を加えたあと、速度はどうなっているのか比較してみた。なお、以下の記事はHello Worldのベンチマークなので、実際のアプリケーションのパフォーマンスにはあまり影響がないと思われます。…
最近のPlackとStarletにはパフォーマンス改善のため次のような変更が加えられています。Plackに対する変更 (カッコ内はバージョン) Plack::Request::query_parameters の最適化 (1.0018) Plack::Middleware::AccessLog に Apache::LogFormat::Compilerの導入…
情勢は変化するので、とりあえず現時点版。OSはSnow Leopard。まず rrdtool の依存ライブラリは homebrew でいれる。かならず brew update を行うこと $ brew update $ brew upgradeできれば brew upgrade まで行ってライブラリを最新にしておく。依存ライブ…
Starletは小さいコンテンツを出力する時に、ヘッダをボディを一括で出力する機能がある。今(0.17_1)での閾値は 1024byte。これを変更して変化があるかどうかを確認する。変更点は↓の部分。 diff --git a/lib/Starlet/Server.pm b/lib/Starlet/Server.pm inde…
perlのバージョン上げて高速化!yay— masahiro naganoさん (@kazeburo) 2013年3月13日の検証をいろいろついでにやってみた。環境は Xeon L5630 (2.13GHz) 4コア8スレッド x 2 なサーバ。ベンチマークをクライアントは同じスペックの別のサーバですperl-5.8は…
3/8に開発バージョンの0.17_1が出ましたが、このバージョンはひとつ前の0.16に比べて少し高速になっています。 local $SIG{...} = sub {}が使われていた部分を最適化してリクエストの前後でsystem callを減らしました。straceでみると before 23:02:27.21348…
straceで見てると、acceptしてからリクエスト行を読むまでの処理が違う Starlet 23:40:11.099510 accept(4, {sa_family=AF_INET, sin_port=htons(44565), sin_addr=inet_addr("10.xxx.xx.xx")}, [1562186129334075408]) = 5 23:40:11.269991 ioctl(5, SNDCTL…
$ memcached -p $port -U 0 -u $user -m $mem \ -c 200000 -v -t 4 -C -B ascii -I 3000 [-L]-p tcp port -U udp port. 0 is disable 使わないなら切る -u user -m memory size -c max connection とりあえず大きく -v verbose エラーとか残るように -t numb…