Archives

You are currently viewing archive for July 2010

[メモ] 09 July 2010 はてなブックマーク - Q4M on Ubuntu10.04 Twitterでつぶやく

Q4M on Ubuntu10.04

MySQLのQueueエンジンであるQ4MをLucidで利用するためのメモ。
ここを参考にインストール。
環境は OS: Ubuntu 10.04 64bit / Mem: 4GB / CPU: Phenom 9550 2.2GHz

▽ Q4Mについてはこちら
Q4M - a Message Queue for MySQL
http://q4m.31tools.com/

▽ インストール
1、 入れておくもの
sudo apt-get install libmysqld-pic mysql-server dpkg-dev libssl-dev

2、 mysqlのソースDL
sudo apt-get source mysql-server

3、 Q4Mダウンロード、解凍
mkdir -p ~/src
cd ~/src
wget http://q4m.31tools.com/dist/q4m-0.9.4.tar.gz
tar xvzf q4m-0.9.4.tar.gz

4、 Q4Mビルド
cd q4m-0.9.4
./configure CPPFLAGS=-I/usr/include/mysql --with-mysql=/tmp/mysql-dfsg-5.1-5.1.41
make
sudo make install
mysql -uroot -p -f mysql < support-files/install.sql


▽ テスト

※ 先にtestというdatabaseを作っておくこと!
1、 テストで利用するPerlライブラリインストール
sudo apt-get install libdata-compare-perl liblist-moreutils-perl
これ入れないとテスト実行中に下記の様なエラーがでる。
t/02-queue-cond.t ......................... Can't locate Data/Compare.pm in @INC (@INC contains:
/etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5
/usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at t/02-queue-cond.t line 6.
BEGIN failed--compilation aborted at t/02-queue-cond.t line 6.
とか
t/05-multiwait.t .......................... Can't locate List/MoreUtils.pm in @INC (@INC contains:
/etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5
/usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at t/05-multiwait.t line 10.
BEGIN failed--compilation aborted at t/05-multiwait.t line 10.
# Looks like your test exited with 2 before it could output anything.

2、 テスト実行
DBI_PASSWORD='DBのパスワード' ./run_tests.pl

3、 テスト結果
t/01-base-rnd_pos.t ....................... ok   
t/01-base.t ............................... ok
t/02-queue-cond.t ......................... ok
t/02-queue-owned-delete.t ................. ok
t/02-queue.t .............................. ok
t/03-queue-error-wait.t ................... ok
t/03-queue-error.t ........................ ok
t/04-blob-cond.t .......................... ok
t/04-blob.t ............................... ok
t/05-multireader.t ........................ 1/4

Multireader benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 3.444 seconds
Throughput: 1858.207 mess./sec.

t/05-multireader.t ........................ ok
t/05-multirw.t ............................ 1/4

Multi-reader-writer benchmark result:
Number of messages: 6400
Number of readers: 32
Elapsed: 7.188 seconds
Throughput: 890.400 mess./sec.

t/05-multirw.t ............................ ok
t/05-multiwait.t .......................... 1/4

Multi-reader-writer benchmark result under semi-starvation:
Number of messages: 6400
Number of readers: 32
Elapsed: 14.024 seconds
Throughput: 456.349 mess./sec.

t/05-multiwait.t .......................... ok
t/06-multi.t .............................. ok
t/07-trans.t .............................. ok
t/08-forward.t ............................ ok
t/09-pqueue-single-table-wake-listener.t .. ok
t/09-pqueue-single-table.t ................ ok
t/10-largedata.t .......................... skipped: set BIG_TESTS=1 to run theese tests
t/11-conc-compact.t ....................... ok
All tests successful.
Files=19, Tests=70718, 595 wallclock secs ( 8.33 usr 0.54 sys + 103.71 cusr 5.08 csys = 117.66 CPU)
Result: PASS

▽ Q4M関連参考
mixi Engineers’ Blog » Q4M
http://alpha.mixi.co.jp/blog/?cat=19

ハタさんのブログ(復刻版) : Q4MをPHP(PDO)で
http://blog.xole.net/article.php?id=719

Unbuntu 9.10 Server に MySQL 5.1 と InnoDB Plugin と Q4M をインストール。 - Cafe L@ Bebop
http://d.hatena.ne.jp/norizo3/20091112/1257956754
«Prev || 1 || Next»