Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?

[es] :: MySQL :: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?

Strane: 1 2

[ Pregleda: 10296 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 21:17 - pre 168 meseci
Ima li neko praktična iskustva u smislu poboljšanja performansi web sajta
pri prelasku na SQLite ili PostgreSQL ?

Razlike u samom jeziku me ne zanimaju, moji projekti uglavnom sadrže jednostavne SQL instrukcije a ostalo se lako da prepraviti, znači samo BRZINA.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 21:36 - pre 168 meseci
ja radim za mysql tako da mozes da me smatras pristrasnim, ali koristim i pgsql i sqlite dosta tako da mogu da ti dam neki odnos za "jednostavne sajtove" .. za malo komplikovanije stvari je potrebna ozbiljnija analiza i zavisi od sistema do sistema ...

Ako ti trebaju transakcije (na mysql to znaci innodb, na pgsql je to default, na sqlite isto) u zavisnosti od mnogo toga performanse za "standardne jednostavne upite" su prilicno slicne .. (mysql je neznatno brzi). Ako imas mnogo vise DRL (data read) nego sto imas DML (data modifying) mysql je znacajno brzi ako koristis query cache. Ako imas puno update-a qcache ce samo da uspori update znacajno tako da je onda beskoristan. Ako imas kompleksne upite, mysql moze da bude "mnogo brzi" ili "mnogo sporiji" - zavisno od toga "kako te krene" zato sto ima nekih ozbiljnih problema u optimizeru koji ne uspe da nadje uvek najbrzi put za izvrsavanje upita te kompleksni join-i sa subselect-ima mogu da budu mnoooooooooooogo brzi sa pgsql-om nego sa mysql-om. sqlite je tu prilicno "lite" tako da ako ti trebaju kompleksni join-i sqlite ispada iz igre.

Ako ti ne trebaju transakcije, onda na mysql-u imas myisam koji je visestruko brzi od svega sto pgsql i sqlite mogu da ponude, prosto zato sto nemas transakcije. Limitiran si za DML time sto svaki DML lokuje celu tabelu, mada web uglavnom nema znacajan DML load (u proseku web sajt ima 80:20 odnos read write). Ono sto je problem u ovom slucaju je sto, jeli, nemas transakcije ... mysam tabele nisu crash safe i slicno ... ako na primer uradis "delete from t1" i pukne ti taj statement iz bilo kog razloga u t1 posle toga imas "nemas pojma koliko" slogova ... opet - za web, vrlo cesto nebitno, ali je vazno znati da myisam nije crash safe (zato je brz, zato sto ne brine o ACID-u). MyISAM ti dodatno omogucava da indexe za tabele koje su ti cesto potrebne preloadujes u posebno obezbedjen ram za to...

Dakle "jednostavan" odgovor ne postoji ... ako trosis myisam, pravilno konfigurisan mysql je brzi od bilo cega drugog sto danas mozes da nadjes .. sa svim svojim manama koje myisam nosi (nije ACID), ako ne trosis myisam onda tu ima mnoooooogo stvari na koje treba obratiti paznju. Generalno mogu da kazem nezvanicno da novi innodb (koji ce se pojaviti nadam se uskoro u 5.5) ima nevidjena poboljsanja u odnosu na ovo sto je sada dostupno, i da ce sam mysql dobiti dobar boost uskoro (jbg 2 godine ne radimo realno nista, samo popravljamo bagove i krpimo rupe u ljudstvu ... sada smo najzad dobili mogucnost da zaposlimo nove ljude, samo da prodje cela ova integracija sa oraklom i mislim da ce mnoooogo brzo da se vide mnooogo pozitivni pomaci vezano za mysql server)...

Ako nemas replikaciju, myisam je nesiguran ako su ti ti podaci "bitni" .. ako mozes da podneses da ti "zadnjih sat vremena insertovanih podataka ode u vetar" onda ti je myisam super :) ... acid kosta u performansama...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 21:44 - pre 168 meseci
samo je bitno da imas u glavi da

MyISAM != MySQL

dakle mysql ti daje mogucnost da biras izmedju raznih storage engine-a (imas pored MyISAM, InnoDB i jos par manje bitnih, sada i MariaDB, XtraDB ...)
- MariaDB je "crash safe MyISAM" ... na zalost, ocajan storage engine - mnogo je spor i vrlo bagovit :( ... ono sto je dobro je sto Montijev mariadb fork mysql-a ima ODLICAN optimizer (mnogo bolji od sadasnjeg mysql-ovog), sto nije cudo posto je nas ceo optimizer tim presao kod njega u firmu :)
- XtraDB je innodb + google patches + percona patches - ODLICAN fork InnoDB-a, SVAKA PREPORUKA .. jedina "mana" je sto je samo za linux, sto iskreno ja ne vidim kao manu uopste .. trenutno mnogo bolji od zvanicne verzije innodb-a, nedovoljno testiran (mi imamo sve te patcheve + jos po nesto u 5.5 i to ne smatramo GA kvalitetom) ali generalno ODLICAN storage engine


bitno je samo da odaberes pravi storage engine .... i naravno, uvek je zgodno da uporedis performanse sa ostalim sistemima ... Na primer ako ti treba "Spatial Extensions" MySQL je tu jedno 2-20 PUTA sporiji od pgsql-a !!!

EDIT:
http://www.mysql.rs/2009/07/rethinkdb/ zadnji komentar imas spisak storage engine-a .. tu samo fali da je mariadb sad u odvojenoj firmi (monti otisao i odveo developere sa sobom koji su radili na tome) i da je perkona pokrenula innodb fork koji se zove XtraDB
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 22:08 - pre 168 meseci
Namerno nisam precizirao koji s kog engine-a sa prelazi (myisam ili innodb) jer ih koristim oba, zavisno od situacije.

Viđao sam na nekim hostinzima da pri kreiranju database mogu pored mysql (default) birati i postgresql i još neki.

Možeš li mi reći (ili pretpostaviti) koje su to situacije kod kojih bi klijent pre odabrao postgresql (ili sqlite)?

Za ostale: i dalje me interesuju tuđa iskustva s performansama.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 22:25 - pre 168 meseci
sta bi "klijent" iskoristio... ne znam, mogu da ti kazem kada "ja" biram pgsql (sqlite je za hosting/web po meni los, ja koristim sqlite kao embeded sql server i za to je #1 open source db sistem, bolji je tu od mysql-a za 10 kopalja) ... dakle ja biram pgsql

1. kada koristim tudju aplikaciju gde developer kaze da podrzava samo pgsql ili gde kaze da aplikacija bolje radi sa pgsql-om
2. kada koristim spatial
3. kada imam komplikovane upite iz preko 10 tabela sa subselect-ima (dakle jedan upit kada je join iz preko 10 tabela)
4. kada portujem aplikaciju sa orakla (pgsql je mnogo slicniji oraklu i mnoooogo je jednostavnije portovati aplikaciju sa orakla na pgsql nego sa orakla na mysql)
5. kada mi treba bolji auditing (od kada sam napisao skript za auditing na mysql-u ovde vise ne koristim pgdsql)
6. kada mi treba bolji auth control nego na mysql-u (mysql grant sistem je na zalost prilicno patetican ... WL za "pluggable auth sistem" postoji, al kad ce biti gotov ..)

Sve ovo sam ovako radio i mnogo pre nego sam se zaposlio u mysql-u :) tako da nisam ni malo promenio misljenje time sto sam se zaposlio u mysql-u (cudno ali, zaposlenjem u mysql-u sam samo nasao mnooogo vise razloga gde mysql ne valja, i saznao mnogo vise stvari koje mysql radi lose ... to iznutra sve izgleda uvek mnogo losije nego spolja :D )

sve u svemu tacka 3 je mnoogo bitna .. tu je pgsql jos uvek 2 koplja ispred mysql-a

p.s. ima dosta klijenata koji su pobegli sa mysql-a zato sto
- ne znaju da mysql != myisam a trebale su im transakcije, crash safe tabele, row locking ...
- uplasili su se sto je SUN kupio mysql (da ce da postane komercijalan ... to su perkona i monti iskoristili da naprave svoje forkove)
- uplasili su se sto je oracle kupio mysql (da ce da se desi ko zna sta, ja sam unutra pa ne znam sta ce se desiti tako da kapiram strah za ulaganje u "nepoznatu buducnost")

za ove prve, sta reci .. za ove druge i trece, mislim da su perkona i monti dovoljno jaki da orakle ne moze nista lose da uradi mysql-u tako da je strah neopravdan ...


 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 22:32 - pre 168 meseci
Koristio sam sve pomenute baze, ali jednostavan zakljucak nemam.

SQLite obicno koristim za jednostavne aplikacije, manji broj tabela, manji broj slogova. Nekako sam 'ubedjen' da malim sajtovima (uradjeni u cms-u ali imaju promenu jedanpu godisnje) SQLite predstavlja logican izbor. Brojac poseta koji sam napravio koristi sqlite iz razloga sto je to bio lite server - brzi odgovor uz minimalno zauzece memorije. Uz to, neverovatno je portabilan.

Mysql moze lepo da se optimizuje i da ima odlicne performanse. Obicno ga koristim sa kesiranjem upita i izlaza. O njemu je Bogdan rekao dovoljno.

Postgres koristim odavno, jos iz vremena kada mi je vracao netacne upite (ko zna zbog cega, mozda sam i ja gresio). Zahteva striktnu sintaksu ( ne mozes int upisati kao '1' vec kao 1, slicno vazi i za bool i ostale...). Uglavnom ga koristim kada klijenti to traze.

Nemam iskustva sa direktnim poredjenjem mysql-a i postgresa po pitanju performansi.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 22:58 - pre 168 meseci
mali off-topic

Citat:
ne mozes int upisati kao '1' vec kao 1, slicno vazi i za bool i ostale


to generalno "ne mozes" nigde ... mysql '1' za int polje vidi kao implicitni kast tako da radi toInt('1') i automatski za to polje ne koristi index posto ne mozes da indexiras rezultat funkcije te je '1' za int greska i na mysql-u ..



sto se tice performansi ... mislim da je DRUPAL (odlican CMS sistem) dobar za benchmark nekih opstih stvari ...

http://2bits.com/articles/benc...rformance-using-drupal-5x.html

nisam citao uopste rezultate (sad cu bas da procitam) .. vidim da nije ni svez mysql ni svez pgsql ali kapiram da su radili koristan test pa verujem da ce ti znaciti sta su napisali

EDIT: procitah :( poredili su MyISAM sa pgsql-om .. nije fer poredjenje, nisu poredili innodb, samo su pokazali ociglednu stvar (da je engine bez ACID-a brzi od engine-a sa ACID-om)
imas isto http://tweakers.net/reviews/64...1-vs-amd-opteron-pagina-7.html ali opet sada tu koriste stari mysql (u 5.1 i 5.5 je sredjen problem sa scalingom ako se koristi innodb plugin)

Savetujem ti takodje da pitas isto na pgsql forumu, siguran sam da ce da dobijes mnogo vise odgovora :)

[Ovu poruku je menjao bogdan.kecman dana 07.05.2010. u 00:09 GMT+1]
 
Odgovor na temu

tarla

Član broj: 15527
Poruke: 1648



+42 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 23:18 - pre 168 meseci
Na FB-u ima dosta dobra grupa MySQL@FB ili tako nekako... Uglavnom puno korisnih testova i dokumentacije...

Nego zaboravili ste replikaciju koju Postgre dobija tek u verziji 9 (još u beti koliko sam upućen) ili u starijim verzijama preko nekih patcheva...




 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?06.05.2010. u 23:26 - pre 168 meseci
ne treba od ovoga praviti sad amiga vs pc .... coveka zanimaju realno performanse "za jednostavne upite" ... ako krenemo da navodimo koji sta kako radi odosmo u advocacy
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 00:08 - pre 168 meseci
Tačno.

Ovo sa testom Drupala je moglo biti konačan odgovor da je izmereno za innodb.

Ovde sam našao nešto zanimljivo:
http://www.randombugs.com/linux/mysql-postgresql-benchmarks.html
http://www.ebrueggeman.com/blog/php-mysql-performance/
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 00:34 - pre 168 meseci
sto ne napravis test sam ... instaliras drupal, mysql i pgsql :) ....

mene zanima kako ce da se ponasa, napravicu ja ujutro test pa cu da bacim rezultate :)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 08:51 - pre 168 meseci
evo ga .. drupal 6.14 + pgsql 8.3.8-2

1 thread:
Code:

[root@gedora10 ~]# ab -c1 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        8021 bytes

Concurrency Level:      1
Time taken for tests:   33.435 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8494000 bytes
HTML transferred:       8021000 bytes
Requests per second:    29.91 [#/sec] (mean)
Time per request:       33.435 [ms] (mean)
Time per request:       33.435 [ms] (mean, across all concurrent requests)
Transfer rate:          248.09 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    32   33   0.6     33      37
Waiting:       26   32   0.9     32      35
Total:         32   33   0.6     33      37

Percentage of the requests served within a certain time (ms)
  50%     33
  66%     34
  75%     34
  80%     34
  90%     34
  95%     34
  98%     34
  99%     35
 100%     37 (longest request)



5 threadova
Code:

[root@gedora10 ~]# ab -c5 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        8021 bytes

Concurrency Level:      5
Time taken for tests:   19.421 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8494000 bytes
HTML transferred:       8021000 bytes
Requests per second:    51.49 [#/sec] (mean)
Time per request:       97.106 [ms] (mean)
Time per request:       19.421 [ms] (mean, across all concurrent requests)
Transfer rate:          427.11 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.3      0       5
Processing:    39   97  30.0     90     304
Waiting:       35   95  29.8     88     303
Total:         39   97  30.0     90     304

Percentage of the requests served within a certain time (ms)
  50%     90
  66%     98
  75%    105
  80%    111
  90%    134
  95%    160
  98%    186
  99%    206
 100%    304 (longest request)


20
Code:

[root@gedora10 ~]# ab -c20 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        8116 bytes

Concurrency Level:      20
Time taken for tests:   20.136 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8589000 bytes
HTML transferred:       8116000 bytes
Requests per second:    49.66 [#/sec] (mean)
Time per request:       402.721 [ms] (mean)
Time per request:       20.136 [ms] (mean, across all concurrent requests)
Transfer rate:          416.55 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       2
Processing:    53  399  46.6    395     806
Waiting:       53  398  46.5    393     804
Total:         53  399  46.6    395     806

Percentage of the requests served within a certain time (ms)
  50%    395
  66%    403
  75%    412
  80%    420
  90%    443
  95%    471
  98%    507
  99%    546
 100%    806 (longest request)


sad ce odma isto to i za mysql sa innodb-om (necu myisam ni da poredim)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 09:38 - pre 168 meseci
evo ga mysql (na zalost drupal nema foru da prebaci sadrzaj u drugu bazu pa sam za mysql kreirao nove strane ... isti djavo samo su strane u mysql-u nesto sitno vece (oko kilobajt))

1 MyISAM (kreten pravi tabele kao MyISAM tek sam sad skonto, sad cu da ih prebacim u InnoDB)
Code:

[root@gedora10 mysql]# ab -c1 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        9034 bytes

Concurrency Level:      1
Time taken for tests:   15.914 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9507000 bytes
HTML transferred:       9034000 bytes
Requests per second:    62.84 [#/sec] (mean)
Time per request:       15.914 [ms] (mean)
Time per request:       15.914 [ms] (mean, across all concurrent requests)
Transfer rate:          583.41 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    15   16   0.4     16      18
Waiting:        9   15   0.5     15      17
Total:         15   16   0.4     16      18

Percentage of the requests served within a certain time (ms)
  50%     16
  66%     16
  75%     16
  80%     16
  90%     16
  95%     16
  98%     17
  99%     17
 100%     18 (longest request)


20 (myisam)
Code:

[root@gedora10 mysql]# ab -c20 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        9034 bytes

Concurrency Level:      20
Time taken for tests:   9.079 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9507000 bytes
HTML transferred:       9034000 bytes
Requests per second:    110.15 [#/sec] (mean)
Time per request:       181.575 [ms] (mean)
Time per request:       9.079 [ms] (mean, across all concurrent requests)
Transfer rate:          1022.63 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   5.6      0      70
Processing:    38  179  54.0    173     588
Waiting:       13  169  50.3    166     565
Total:         39  180  53.6    173     588

Percentage of the requests served within a certain time (ms)
  50%    173
  66%    191
  75%    204
  80%    215
  90%    243
  95%    271
  98%    299
  99%    334
 100%    588 (longest request)



Code:

alter table    access    engine=innodb;
alter table    actions    engine=innodb;
alter table    actions_aid    engine=innodb;
alter table    authmap    engine=innodb;
alter table    batch    engine=innodb;
alter table    blocks    engine=innodb;
alter table    blocks_roles    engine=innodb;
alter table    boxes    engine=innodb;
alter table    cache    engine=innodb;
alter table    cache_block    engine=innodb;
alter table    cache_filter    engine=innodb;
alter table    cache_form    engine=innodb;
alter table    cache_menu    engine=innodb;
alter table    cache_page    engine=innodb;
alter table    comments    engine=innodb;
alter table    files    engine=innodb;
alter table    filter_formats    engine=innodb;
alter table    filters    engine=innodb;
alter table    flood    engine=innodb;
alter table    history    engine=innodb;
alter table    menu_custom    engine=innodb;
alter table    menu_links    engine=innodb;
alter table    menu_router    engine=innodb;
alter table    node    engine=innodb;
alter table    node_access    engine=innodb;
alter table    node_comment_statistics    engine=innodb;
alter table    node_counter    engine=innodb;
alter table    node_revisions    engine=innodb;
alter table    node_type    engine=innodb;
alter table    permission    engine=innodb;
alter table    role    engine=innodb;
alter table    sessions    engine=innodb;
alter table    system    engine=innodb;
alter table    term_data    engine=innodb;
alter table    term_hierarchy    engine=innodb;
alter table    term_node    engine=innodb;
alter table    term_relation    engine=innodb;
alter table    term_synonym    engine=innodb;
alter table    url_alias    engine=innodb;
alter table    users    engine=innodb;
alter table    users_roles    engine=innodb;
alter table    variable    engine=innodb;
alter table    vocabulary    engine=innodb;
alter table    vocabulary_node_types    engine=innodb;
alter table    watchdog    engine=innodb;



INNODB
1
Code:

[root@gedora10 mysql]# ab -c1 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        9034 bytes

Concurrency Level:      1
Time taken for tests:   15.959 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9507000 bytes
HTML transferred:       9034000 bytes
Requests per second:    62.66 [#/sec] (mean)
Time per request:       15.959 [ms] (mean)
Time per request:       15.959 [ms] (mean, across all concurrent requests)
Transfer rate:          581.76 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    15   16   0.6     16      29
Waiting:        0   15   0.9     15      28
Total:         15   16   0.6     16      29

Percentage of the requests served within a certain time (ms)
  50%     16
  66%     16
  75%     16
  80%     16
  90%     16
  95%     16
  98%     17
  99%     17
 100%     29 (longest request)


5 InnoDB
Code:

[root@gedora10 mysql]# ab -c5 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        9034 bytes

Concurrency Level:      5
Time taken for tests:   8.918 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9507000 bytes
HTML transferred:       9034000 bytes
Requests per second:    112.13 [#/sec] (mean)
Time per request:       44.591 [ms] (mean)
Time per request:       8.918 [ms] (mean, across all concurrent requests)
Transfer rate:          1041.04 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.3      0      33
Processing:    16   44  24.0     39     165
Waiting:        0   35  20.6     31     146
Total:         16   45  24.1     40     165

Percentage of the requests served within a certain time (ms)
  50%     40
  66%     51
  75%     57
  80%     62
  90%     75
  95%     91
  98%    104
  99%    128
 100%    165 (longest request)


20 InnoDB
Code:

[root@gedora10 mysql]# ab -c20 -n1000 http://localhost/drupal/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.14
Server Hostname:        localhost
Server Port:            80

Document Path:          /drupal/
Document Length:        9034 bytes

Concurrency Level:      20
Time taken for tests:   9.078 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9507000 bytes
HTML transferred:       9034000 bytes
Requests per second:    110.15 [#/sec] (mean)
Time per request:       181.570 [ms] (mean)
Time per request:       9.078 [ms] (mean, across all concurrent requests)
Transfer rate:          1022.66 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   2.4      0      48
Processing:    51  180  48.7    170     393
Waiting:       48  169  44.0    162     378
Total:         53  180  48.7    171     396

Percentage of the requests served within a certain time (ms)
  50%    171
  66%    191
  75%    204
  80%    216
  90%    248
  95%    273
  98%    301
  99%    319
 100%    396 (longest request)


toliko od mene .... obrati paznju da je MySQL sa default configom, sa ugasenim query cache-om (posto ne znam kako se nesto slicno pali na pgsql-u pa reko da budu ravnopravni) ... ja mogu sigurno da ubrzam mysql za ovo min 20% a najverovatnije jedno 60% u odnosu na ove rezultate ... pgsql verovatno isto moze dodatno da se optimizuje ... al ovo su dakle i za jedan i za drugi neke default vrednosti (osim sto je mysql-u ugasen query cache koji ne bi napravio test validnim posto bi mysql iskesirao sve rezultate i nista ne bi ni pitao tabele)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 09:50 - pre 168 meseci
btw, ta test masina je neki stari E6850 na 3ghz i 8G rama sa mnogo nekih wd black sata diskova u raznim konfiguracijama ... (i mysql i pgsql su drzali datu na 4x1T wd black u raid0 a sve to formatirano xfs-om dok je php drupalov na 2x1T wd black u raid1 konfiguraciji pa to formatirano kao xfs) sa fedorom 10 ...

upravo gledam ove rezultate (malopre sam samo copy paste) .... innodb je za ovaj odnos upita (prva strana ima 20tak read upita i 1 write ako sam ja dobro video) isto brz koliko i myisam, deluje mi da je ovde sporiji php nego baza ...

ne znam koliko je validan test .. ali realno drupal da bi prikazao ovu naslovnu stranu napravi dosta upita (mnogo vise nego sto bi ja to napravio da sam ga ja radio)... puni neku log tabelu (dakle ima i insert) .. radi i neke update ... sve u svemu .. "komunicira sa bazom" ... bilo bi lepo kada bi neko napravi oneki malo ozbiljniji test ... tipa sa nekim cms sistemom koji je "pun" (a ne koji ima 5 strana kao ovaj test koji sam ja sad pravio) pa da pusti neki benchmark nad celim sajtom (ne samo nad jednom stranom) ... no, od mene dosta :D ... koga zanima, moze da potrosi vreme na benchmark :) a ja cu mu biti zahvalan ako rezultate podeli sa nama ostalima :)


 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 10:31 - pre 168 meseci
Šta da kažem,
Bogdane KRALJU.

Hvala na vremenu i trudu za ovo.
Sam se verovatno ne bih upustio u testiranje jer pgsql ne poznajem dovoljno, pitanje je dali bih ga i instalirao kako treba.

Detaljniji test od ovoga mi ne treba. Temu sam i započeo da bih saznao kako se ponaša ozbiljniji portal na drugim bazama, a drupal je za mene sasvim dovoljno ozbiljan.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

michaelk
Michael Kopljan
Software developer
Frankfurt am Main

Član broj: 85498
Poruke: 131
109.106.238.*



+26 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 12:15 - pre 168 meseci
Mislim da Drupal nije neko merilo za brzinu, posto je isti pravljen za MySQL inicijalno, sto znaci da su upiti optimizovani za MySQL a podrska za PostgreSQL je dodana naknadno. Takode po meni ne bi trebalo nikako da se uzima MyISAM jer to i nije prava transakciona baza. Znaci u obzir bi dolazilo poredenje InnoDB vs. PostgreSQL.

Evo nekih linkova, jest da su malo stari, ali :
LINK 1 i LINK 2

Neko ce reci da to nije MySQL 5.1 ali nije ni PostgreSQL 8.3, koji je doneo 20% brizne u odnosu na PostgreSQL 8.2. Takode tu je i 8.4 koji je opet doneo dodatna ubrzanja u odnosu na 8.3.

Dalje treba uzeti u obzir sta treba ta baza da radi. Ako poredimo proceduralne jezike, po meni, PgPlSql je daleko mocniji od MySQL-ovog proceduralnog jezika.

Toliko od mene
 
Odgovor na temu

Tyler Durden
Tyler Durden
Beograd

Član broj: 4312
Poruke: 3379
*.verat.net.



+1365 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 12:34 - pre 168 meseci
pgsql takođe ima mogućnost da se koriste funkcije pisane u C-u koje su još brže za izvršavanje.
http://www.postgresql.org/docs/8.4/static/xfunc-c.html
nisam siguran da li tako nešto mysql ima.

ono što meni smeta kod postgresqla jeste sistem privilegija, koji mi malo djeluje kao overkill i x puta mi je digao pritisak jer nije radio onako kako je trebalo da radi. prvenstveno mislim na pg_hba.conf
Beneath civilization's fragile crust, cold chaos churns...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?07.05.2010. u 14:43 - pre 168 meseci
miroslav, i mene zanimalo sta ce da se desi

michaelk, ako pogledas bolje, zadnja 3 testa su sa INNODB-om, ne sa myisam-om (kada sam pustio vec test provalio sam da sam zaboravio da prebacim tabele u innodb pa sam pustio rezultat cisto neka ga kad ga vec ima) ... sve tabele su prebacene u innodb, za to da je bolje optimizovan za mysql, ne znam sta bi reko, prilicno su isti upiti za prvu stranu ... generalno, test "nije neki", ali ima na netu bar 1000 strana mysql vs pgsql da cita ko god oce danima :D

sto se linkova za skaliranje tice ... pgsql se skalira MNOOOOOOOOOOOOOOGO bolje od 5.0 i 5.1 .. to niko ne spori .. ako pogledas gore ja sam iste linkove postovao .. 5.5 se skalira "skoro ko pgsql" ali mislim da je i tu i dalje pgsql bolji ... no na 4 jezgra masini to i nije bas znacajno ..

tyler, mozes da pises funkcije u c-u i na mysql-u :) .. ali mislim da to bas i nije deo koji zanima coveka koji je postavio pitanje .. sto se tice tog overkila sa privilegijama, mysql ima PATETICAN auth sistem i to mu je ogromna mana i jedna od stvari na koju mnoooogo klijenata (sto ovih za pare, sto onih free) kuka. Nadam se da ce pluggable auth biti uskoro (sa podrskom za active directory, ldap, radius...) ... e sad, sto se tice pg_hba.conf moje resenje za to je webmin :D
 
Odgovor na temu

valajbeg
Student/TS
Sarajevo

Član broj: 5069
Poruke: 615
..cable-internet.GlobalNET.ba.

ICQ: 127234502
Sajt: www.microsoft.ba


+10 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?28.05.2010. u 21:24 - pre 168 meseci
bogdan.kecman,

posto mi se cini da imas ponajvise iskustva

zanima me koliko "slozenu i obimnu bazu" SQLite moze da posjeduje


ne mogu nigdje da nadjem neko poredjenje...
features su mi ok, ne trebaju mi ni transakcije niti neke slozenije opcije osim samo pohrane podataka

ali me zanima znaci do koje velicine i slozenosti baze je SQLite prihvatljiva opcija za desktop poslovnu aplikaciju

ako mozes kroz neki "primjer" po svom iskustvu??

hvala velika
www.microsoft.ba
Microsoft gives you Windows... Linux gives you the whole house.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?28.05.2010. u 22:08 - pre 168 meseci
Citat:
valajbeg
zanima me koliko "slozenu i obimnu bazu" SQLite moze da posjeduje
...
ako mozes kroz neki "primjer" po svom iskustvu??


iskreno - NEMAM POJMA

po mom iskustvu - ja sam sqlite koristio samo i iskljucivo za cuvanje configa aplikacije. Dakle par stotina parametara u 2-3 tabele i to je to, jednostavan PK read/write.

Imam gomilu klijenata koji koriste sqlite i koji ga koriste za isto to - dakle za cuvanje kojekakvih parametara. Nikad nisam video aplikaciju koja koristi sqlite kao "ozbiljnu bazu podataka" .. Mozes reci da "nisam imao gde to da vidim" posto radim za MySQL ali, moji klijenti koriste i pgsql i firebird i mssql i oracle i db2 i svasta jos .. za razne stvari i u raznim kombinacijama .. i kao sto rekoh - sqlite korise isto kao i ja sto ga koristim - ako ima vise od 10 parametara u config-u, embedujes sqlite u aplikaciju i cuvas config u njemu.

Slobodno postavi ovo pitanje na "nadforumu" gde imas mnogo vise korisnika sqlite-a, mozda ti neko da primer gde se sqlite koristi za nesto vise / za neku vecu bazu koja radi sa sqlite-om. Ovde su primarno mysql korisnici koji generalno nemaju veliku korist od sqlite-a.
 
Odgovor na temu

[es] :: MySQL :: Iskustva s prelaskom s MySQL-a na SQLite ili Postgre ?

Strane: 1 2

[ Pregleda: 10296 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.