Friday, November 19, 2010

Compiling Firebird 2.5 on the amazon ec2 linux microinstance (centos based)

I have checked out Firebird 2.5 source from svn then i have installed the gnu c++ compiler also the readline libs also the icu ones
after that i have started the compilation process (i know it's easier to install firebird from rpm but i wanted to see how fast is the free microinstance: it compiled in something of more than one hour)

yum install gcc-c++ libicu-devel readline-devel automake autoconf libtool

after configure check if the firebird server is up
netstat -tap | grep fbserver
tcp        0      0 *:gds_db                    *:*                         LISTEN      22144/fbserver
Install python and firebird driver for it and we will do some benchmarks
yum install python26-develyum install python26-devel
wget http://downloads.sourceforge.net/firebird/kinterbasdb-3.3.0.tar.bz2
tar -jxvf kinterbasdb-3.3.0.tar.bz2
cd kinterbasdb-3.3.0
python setup.py install
python -c "import kinterbasdb as k; print k.__version__"
(3, 3, 0, 'pre-alpha', 0)
wget http://www.firebirdsql.org/download/rabbits/pmakowski/ibench1.py
create test db


at last run the benchmark and compare with a desktop machine (at the end of the post)
python ibench1.py --db_user=sysdba --db_password=******* --db_name=/tmp/test.fdb --setup

Here are the results for a desktop machine (core 2 duo )
#rows #seconds cum_ips last_ips #queries cum_qps last_qps

10000 56 179.4 179.4 2210 39.7 39.7
20000 136 147.1 124.7 5525 40.6 41.3
30000 250 119.9 87.5 10592 42.3 44.3
40000 399 100.4 67.4 16841 42.3 42.1
50000 551 90.7 65.4 23991 43.5 46.8
60000 708 84.7 63.7 30445 43.0 41.1
70000 866 80.8 63.5 35920 41.5 34.8
80000 1038 77.1 58.2 41111 39.6 30.2
90000 1217 73.9 55.7 46142 37.9 28.0
100000 1408 71.0 52.4 51142 36.3 26.2
110000 1607 68.4 50.2 55951 34.8 24.2
120000 1803 66.5 51.0 60282 33.4 22.1
130000 2000 65.0 50.9 64400 32.2 21.0
140000 2212 63.3 47.2 68577 31.0 19.7
150000 2414 62.1 49.3 71987 29.8 16.8
160000 2625 61.0 47.5 75301 28.7 15.8
170000 2830 60.1 48.7 78098 27.6 13.6
..........................................................

And here are the rezults for ec2 micro machines
#rows #seconds cum_ips last_ips #queries cum_qps last_qps
10000 207 48.4 48.4 1640 7.9 7.9
20000 551 36.3 29.0 4069 7.4 7.0
30000 1058 28.3 19.7 7733 7.3 7.2
40000 1920 20.8 11.6 12517 6.5 5.6
50000 2967 16.9 9.6 18489 6.2 5.7
60000 3944 15.2 10.2 24041 6.1 5.7
70000 4876 14.4 10.7 28416 5.8 4.7
80000 5845 13.7 10.3 32274 5.5 4.0
90000 6890 13.1 9.6 36649 5.3 4.2
100000 7869 12.7 10.2 39876 5.1 3.3
110000 8971 12.3 9.1 43522 4.9 3.3
120000 10092 11.9 8.9 47221 4.7 3.3
..........................................................

i will redo the tests tomorrow

also here are the partial results on AMD Athlon(tm) 7850 Dual-Core Processor

#rows #seconds cum_ips last_ips #queries cum_qps last_qps
10000 277 36.1 36.1 4830 17.5 17.5
20000 688 29.0 24.3 12028 17.5 17.5
30000 1117 26.9 23.3 20474 18.3 19.7
40000 1558 25.7 22.7 28505 18.3 18.2
50000 2021 24.7 21.6 37056 18.3 18.5
60000 2514 23.9 20.3 45290 18.0 16.7
70000 3053 22.9 18.6 54310 17.8 16.7
80000 3607 22.2 18.1 62826 17.4 15.4
90000 4162 21.6 18.0 71875 17.3 16.3
100000 4713 21.2 18.1 80515 17.1 15.7
110000 5328 20.6 16.3 89286 16.8 14.3
120000 5878 20.4 18.2 97864 16.6 15.6
130000 6431 20.2 18.1 106757 16.6 16.1
140000 6984 20.0 18.1 115589 16.6 16.0
150000 7565 19.8 17.2 124362 16.4 15.1
160000 8147 19.6 17.2 133129 16.3 15.1
170000 8687 19.6 18.5 141953 16.3 16.3
180000 9245 19.5 17.9 150991 16.3 16.2
190000 9820 19.3 17.4 159820 16.3 15.4
..........................................................

good night i have now my own firebird machine to experiment and will be kept online for a year at least

2 comments:

SERg said...

this is nice tutorial but not working as should
I think tar -jxvf kinterbasdb-3.3.0.tar.bz2 not zxvf

Popa Adrian Marius said...

Thanks now is fixed