■
MacBookにQ4Mをインストールしたメモ書きの補足
make test について省略したので追記。
というか長くなったので別エントリにしてみた。DBD::mysql入れるのが面倒だった。。。
DBD::mysqlのビルドは失敗するので、LeopardにMySQLとDBD::mysqlを入れる方法を参考にmakeしなおす。
自分の環境だけかもしれないけど、/opt/local/bin/perl と /usr/local/bin/perl がどちらも入っていて後者だと@INCが違うところを参照してしまうので、テストスクリプトのperlパスを修正する。
make test する。
ちなみに、上のは--with-sync=fcntlの場合のベンチマーク(Cure2Duo 2.1GHz/Mem 4GB)。
--with-sync=fsyncにした場合はこんな感じ↓
10倍以上速いよ!!
この辺の話なのかな。
試験環境なのでデータ飛んでも困らないし、当面はfsyncのままでいいような気がする。
というか長くなったので別エントリにしてみた。DBD::mysql入れるのが面倒だった。。。
$ sudo cpan
cpan> install Data::Compare
cpan> install DBD::mysql
$ sudo ln -s /opt/local/lib/mysql5/bin/mysql_config /usr/local/bin/mysql_config
$ sudo su -
# cd /var/root/.cpan
# cd build/DBD-mysql-XXXXXXXX
# perl Makefile.PL \
--cflags=-I/opt/local/include/mysql5/mysql \
--libs="-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm -L/opt/local/lib -lssl -lcrypto"
# make
# make install
$ cd /usr/local/src/q4m-0.8.3
$ vi run_tests.pl
- #!/usr/local/bin/perl
+ #!/opt/local/bin/perl
$ DBI='dbi:mysql:database=test;host=localhost' \
DBI_USER='username' \
DBI_PASSWORD='password' \
MYSQL_UNIX_PORT=/opt/local/var/run/mysql5/mysqld.sock \
make test
...
Multireader benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 25.878 seconds
Throughput: 247.315 mess./sec.
...
Multi-reader-writer benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 43.944 seconds
Throughput: 145.641 mess./sec.
...
Multi-reader-writer benchmark result under semi-starvation:
Number of messages: 6400
Number of readers: 32
Elapsed: 96.602 seconds
Throughput: 66.251 mess./sec.
...
All tests successful.
Files=17, Tests=68921, 2240 wallclock secs (20.83 usr 2.26 sys + 150.25 cusr 22.16 csys = 195.50 CPU)
Result: PASS
--with-sync=fsyncにした場合はこんな感じ↓
...
Multireader benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 1.725 seconds
Throughput: 3711.007 mess./sec.
...
Multi-reader-writer benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 2.724 seconds
Throughput: 2349.228 mess./sec.
...
Multi-reader-writer benchmark result under semi-starvation:
Number of messages: 6400
Number of readers: 32
Elapsed: 3.445 seconds
Throughput: 1857.784 mess./sec.
...
All tests successful.
Files=17, Tests=68921, 289 wallclock secs (17.33 usr 2.06 sys + 144.66 cusr 20.77 csys = 184.82 CPU)
試験環境なのでデータ飛んでも困らないし、当面はfsyncのままでいいような気がする。
posted at 23:47 [ /tech ]







