Reading time: 2 – 3 minutes
No es tracta d’unes proves de rendiment serioses i estríctes, però almenys en el meu cas m’han servit per tenir una idea del rendiment d’aquestes aplicacions i poder dissenyar diferents arquitectures amb una mica més de coneixement de causa.
Per si no coneixeu les eines:
- gearman: servidor de tasques
- couchdb: sistema de bases de dades no relacional
- redis: sistema de caché similar a memcached, però molt millor sota el meu punt de vista
Sistema sobre el que s’han fet les proves:
- HP ML110 G5 – Xeon 2GHz – 4GB RAM – HD via NFS
- Rendiment del disc: Timing buffered disk reads: 26 MB in 3.00 seconds = 8.66 MB/sec
- SO Hypervisor: VMWare ESXi 3.5
- Servidor virtual: 1 CPU 2GHz i 512Mb RAM
- SO Guest: Ubuntu 8.04 Hardy
Resultats de les proves:
- client de gearman, fa 5.000 requests al servidor:
- gearman backend: default, cua no persistent
- cmd: gearmand -vvv -u root
- temps: ~32s – rendiment: ~156req/s
- gearman backend: sqlite3, cua persistent
- cmd: gearmand -vvv -u root –libsqlite3-db=/tmp/gearman_sqlite3.cache -q libsqlite3
- temps: ~11m10s – rendiment: ~0.8req/s
- gearman backend: tokyo cabinet btree, cua persistent
- cmd: gearmand -q libtokyocabinet –libtokyocabinet-file=/tmp/gearmand.tcb -vvv -u root
- temps: ~2m3s – rendiment: ~40req/s
- gearman backend: tokyo cabinet hash, cua persistent
- cmd: gearmand -q libtokyocabinet –libtokyocabinet-file=/tmp/gearmand.tch -vvv -u root
- temps: ~2m5s – rendiment: ~40req/s
- gearman backend: tokyo cabinet RAM, cua no persistent
- cmd: gearmand -q libtokyocabinet –libtokyocabinet-file=”*” -vvv -u root
- temps: ~17s – rendiment: ~294req/s
- gearman backend: default, cua no persistent
- insertem 5.000 documents a couchdb:
- temps: ~14s – rendiment: ~357req/s
- redis fem 10.000 operacions de tipus:
- SET: temps: ~0.35s – rendiment: ~28.375req/s
- GET: temps: ~0.59s – rendiment: ~16.920req/s
- PING: temps: ~0.33s – rendiment: ~30.471req/s