jwata blog

勉強の記録や思ったことなど

PHPUnitの実行速度改善

前回に引き続き、PHPUnitの実行速度をなんとか上げれないかと試行してみました。
今回は、
MySQLのdatadirをRAMDiskにしてみました。

手順

RAMDiskを作成し、現状のデータをコピーする

sudo /etc/init.d/mysql stop
sudo mkdir -p /mnt/ramdisk
sudo mount -t tmpfs -o size=2G tmpfs /mnt/ramdisk
sudo cp -pr /var/lib/mysql /mnt/ramdisk/

my.conf を編集

datadir         = /mnt/ramdisk/mysql
# datadir         = /var/lib/mysql

MySQL再起動

sudo /etc/init.d/mysql start

テスト実行結果

% ./vendor/bin/phpunit
PHPUnit 3.7.28 by Sebastian Bergmann.

Configuration read from xx/phpunit.xml

...............................................................  63 / 612 ( 10%)
............................................................... 126 / 612 ( 20%)
............................................................... 189 / 612 ( 30%)
............................................................... 252 / 612 ( 41%)
............................................................... 315 / 612 ( 51%)
............................................................... 378 / 612 ( 61%)
............................................................... 441 / 612 ( 72%)
............................................................... 504 / 612 ( 82%)
............................................................... 567 / 612 ( 92%)
.............................................

Time: 1.45 minutes, Memory: 68.50Mb

OK (612 tests, 1240 assertions)

以前の実行結果

% ./vendor/bin/phpunit
PHPUnit 3.7.28 by Sebastian Bergmann.

...............................................................  63 / 612 ( 10%)
............................................................... 126 / 612 ( 20%)
............................................................... 189 / 612 ( 30%)
............................................................... 252 / 612 ( 41%)
............................................................... 315 / 612 ( 51%)
............................................................... 378 / 612 ( 61%)
............................................................... 441 / 612 ( 72%)
............................................................... 504 / 612 ( 82%)
............................................................... 567 / 612 ( 92%)
.............................................

Time: 1.43 minutes, Memory: 68.50Mb

OK (612 tests, 1240 assertions)

むう、あまり早くなりませんでした。
単純にプロセスの処理に時間がかかっていそうなので、その改善策を考えて行きたいと思います。