Szerző: Bizó Dániel

2009. október 7. 17:09

Mennyit gyorsult a MySQL és a PostgreSQL?

A modern vasak modern szoftvereket igényelnek - leginkább talán ez lehet a konklúziója annak a tesztnek, mely a PostgreSQL és a MySQL egyes verzióinak teljesítményét és skálázódását veti össze egy négyfoglalatos Xeon szerveren.

Az informatika hétköznapjainak gyakorlati buktatóival foglalkozó suck IT blog a két relációs adatbázis-kezelő szoftver számos főkiadását vetette össze a teljesítmény szemszögéből. A tesztelési terepet egy négyfoglalatos, hatmagos Xeon (Dunnington, 7400-as sorozat) processzorokkal és 128 gigabájt memóriával szerelt szerver és a FreeBSD 8-as kiadása szolgáltatta. A FreeBSD-re többek közt azért esett a választás, mert alóla könnyen elérhetőek a PostgreSQL és MySQL korábbi változatainak legfrissebb buildjei.

A viszonylag kevés tuningolási opciót alkalmazó, tehát ebből a szempontból a legtöbb éles környezetet (sajnos) idéző tesztből kiderül, hogy skálázódás terén a PostgreSQL hatalmas fejlődésen ment keresztül. Az közel 5 éves 8.0 skálázódása pocsék, lényegében 4 szálig képes kihasználni a processzorokat az olvasási tesztben, azt követően csökken a teljesítménye, vagyis már egyetlen Nehalemet sem volna képes hasznosítani.

A 8.0-hoz képest összességében 11-szeres összteljesítményt és kétszeres szálankénti sebességet kapunk kiolvasásnál. A 8.4 teljesítményben nem hozott előrelépést, némileg alacsonyabb számokat produkált, az eltérés azonban nem jelentős. Az írás-olvasási tesztben hasonló fejlődést mutatott a PostgreSQL, a 8.4 itt is némileg alulmúlja a 8.3-as kiadást, de kétszeresen múlja felül a hároméves 8.2-őt. Kérdéses, vajon a hardver nem korlátozta-e a PostgreSQL skálázódását, tekintve, hogy a 24 magot egyetlen memóriaalrendszernek kell kiszolgálnia.

A PostgreSQL-t követően hasonló méréseket végzett el a MySQL-lel is a blog szerzője, ahol némileg más kép rajzolódik elénk. A MySQL is fejlődött az elmúlt évek során, ugyanakkor a fejlődés közel sem olyan drámai, mint a PostgreSQL esetében. Sőt, leginkább csak az 5.4-es kiadás hozott el változást, az sem az abszolút teljesítmény fokozásában tündököl leginkább, hanem a terhelhetőségben: sokkal magasabb szintű párhuzamosságot képes elviselni, mint elődjei, olvasási műveleteknél még 128 szálnál is kevesebb mint 30 százalékkal esik vissza az abszolút teljesítménye a csúcshoz képest, mely egyébként 16 szálnál jelentkezik.

A PostgreSQL és MySQL tesztjeit összevetve két tanulság vonható le: a régi időket idéző beidegződésekkel szemben a PostgreSQL ma már sokkal jobban skálázódik és drasztikusan nagyobb teljesítményt képes leadni olvasásorientált felhasználásban, miközben kevert írás-olvasási OLTP területen a a MySQL meglepő módon gyorsabbnak bizonyult. A PostgreSQL tesztje itt, a MySQL itt olvasható, grafikonokkal, magyarázatokkal.

4 alkalmas, 12 órás biztonságos szoftverfejlesztés alapjai és Scrum otthonról képzésekkel köszönünk el 2020-tól.

a címlapról