oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: sqlite

benchmarking: gearman, couchdb i redis

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
  • 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