Medick under Siege
Nu sunt un mare suporter al ideii de clasamente sau optimizari premature, insa citind articolul Framework Performance am fost curios sa vad cum se comporta Medick comparativ cu Rails, Django sau (in special) cu Symfony.
Exact ca in exemplul din articol, am creat o noua aplicatie – cookbook – cu Medick bazata pe tutorialul Ruby on Rails tutorial Rolling with Ruby on Rails.
Am pastrat si ideea de a genera un numar unic pe pagina de test folosind microtime. Nu stiu exact numarul de bytes serviti in testul prezentat, insa, cu Medick am avut fix 1000.
Test Hardware
- AMD Athlon™ 64 Processor 3000+ (Venice)
- 1 Gig RAM
- 40 Gig ATA 133 HDD (5400rpm)
Test Software
- OS: Mandriva Linux release 2006.0 (Official) for i586
- kernel: 2.6.12-18mdk (i686)
- stress-test software: Siege 2.65
Medick setup:
Consideratii
Majoritatea pachetelor sunt compilate din surse, poate pentru a mai compensa diferenta destul de mare intre hardware. Unele teste au fost rulate cu serverul X pornit, fapt ce a atras o penalitate de aproximativ 8% din CPU. In final insa, nu cred ca acest lucru a influentat rezultatele obtinute.
Apache/2.0.55 (mod_php)
Compilat cu gcc 3.3.6 utilizand comanda:
./configure --prefix=/wwwroot --enable-mods-shared=all --enable-so
MySQL 5.0.21
Compilat cu gcc 4.0.1 utilizand comanda:
./configure --prefix=/wwwroot --with-mysqld-user=mysql --localstatedir=/wwwroot/data --disable-maintainer-mode --without-debug
Se foloseste my-medium.cnf, cu optiunile pentru InnoDB activate.
PHP 5.1.4
Compilat cu gcc 3.3.6 utilizand comanda:
./configure --prefix=/wwwroot --with-pdo-mysql=/wwwroot --with-mysql=/wwwroot --with-apxs2=/wwwroot/bin/apxs --enable-memory-limit --enable-mbstring --with-zlib --with-gd --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include --with-zlib-dir=/usr/include --enable-gd-native-ttf --enable-exif --with-curl
Se foloseste php.ini-recommended.
APC-3.0.10
APC a fost compilat din surse folosind gcc 3.3.6 cu comanda:
./configure --enable-apc-mmap --with-apxs=/wwwroot/bin/apxs --with-php-config=/wwwroot/bin/php-config
Medick-0.3.0pre1
Medick, versiunea oferita la download, cu nivelul de log setat la 3, pentru a simula conceptul de mediu de productie.
Pentru a nu creea un nou articol foarte lung si greu de urmarit, o sa revin maine cu rezultatele obtinute.