MySQL teszt: Linux vs. FreeBSD vs. NetBSD vs. OpenBSD vs. Solaris

Címkék

MySQL. Talán a világ legnépszerűbb nyílt forrású adatbázis-kezelője. Számos UNIX és UNIX-szerű operációs rendszeren futtathatjuk haszonnal. De vajon melyiken fut a legjobb teljesítménnyel?

Tony Bourke a NewsForge-on egy olyan tesztet készített, amelyben próbára tette a napjainkban elérhető népszerű, UNIX(-szerű) operációs rendszereken a MySQL-t.

A tesztben az alábbi OS-ek szerepeltek:

- Linux 2.4

- Linux 2.6

- NetBSD 2.0- FreeBSD 5.3 (KSE)

- FreeBSD 5.3 (LT)

- FreeBSD 4.11 (libc_r)

- FreeBSD 4.11 (LT)

- OpenBSD 3.6

- Solaris 10 (b69)

A tesztkörnyezet felállításáról ebben a cikkben olvashatsz, míg az eredményeket és a szerző konklúzióját ebben az írásban találod.

Hozzászólások

In article <42.36873@c.hup.hu>, Micskó Gábor wrote:
> Na a masik OpenBSD evangelista. Gyerekek, ez nem az OpenBSD terulete. Ezt
> el kell fogadni.

Hulyegyerek, mutass ra hogy ki es hol mondta ennek az ellentetet, es ezutan
gondold at hogy melyik threadbe valaszolsz. De ha tovabb akarsz emberkedni,
akkor mar csak egy keresem van: fogd be a pofad.

--
Bérczi Gábor
/Gabu/

In article <42.36908@c.hup.hu>, thuglife wrote:
> Gabu semmi ertelme nincs foglalkozni trey-el.:
>
> 1) beteges hazudozó
>
> 2) drogos
>
Nekem eddig az esetek jo reszeben viszonylag normalisnak tunt.
Node semmi se tart orokke. :)

--
Bérczi Gábor
/Gabu/


options MAXDSIZ="(896*1024*1024)"

options MAXSSIZ="(896*1024*1024)"

options DFLDSIZ="(896*1024*1024)"

OpenBSD 3.6 has a default limit of 1 GB, so I didn't need to make those changes.


Ez igy nem teljesen igaz...

vmparam.h:#define DFLDSIZ (64*1024*1024) /* initial data size limit */

vmparam.h:#define MAXDSIZ (1024*1024*1024) /* max data size */

vmparam.h:#define MAXSSIZ (32*1024*1024) /* max stack size */

Ez i386 on.... Nem azt mondom hogy igy OpenBSD lett volna az elso amit el se varok hiszen nem a performance a goal. Csak ertitek ha valaki nem ert annyira a dolgokhoz hogy utannanezzen ilyesmiknek akkor ne csinaljon ilyen teszteket.

Ha lattatlanban kellett volna tippelnem a sorrendre, korulbelul ezt az eredmenyt tippeltem volna. A Solaris nem rossz..., sot... A Linux nem lepett meg :-)

Persze itt nem is arrol van szó, hanem arrol, hogy nemigazan magyarzta meg normalisan a dolgokat igy egy atlag user azt hiheti hogy az mind a 3 (1024*1024*1024) ami persze nem igaz.

Vagy csak nem tudta eldonteni hogy melyik kell neki es megnovelte mind3at :-)

Nem ertem miben valtozna a dolog. Az OpenBSD kezdetleges biglock SMP-je akkor sem skalazodna jobban ujabb processzor eseten, es szerintem, egy processzor eseten sem lenne nagyon nagy kulonbseg. Ettol az SMP implementaciotol egyszeruen a design miatt nem lehet csodakat varni.

> Csak ertitek ha valaki nem ert annyira a dolgokhoz hogy utannanezzen ilyesmiknek akkor ne csinaljon ilyen teszteket.

loller

Miert ne csinaljon? Mert neked nem tetszik az eredmeny?

Arra proballak ravezetni, hogy tokmindegy milyen OpenBSD kernellel tesztelte volna. Az OpenBSD SMP-je *****, a teszt szempontjabol meg teljesen mindegy, hogy mi a default beallitott ertek. Tanulj meg olvasni a sorok kozott.

Van még olyan? Nem Sun Studio van helyette?

A tippjeim, hogy miért nem azzal fordították a mysql-t:

- nem volt nekik

- nem fordult vele (kétlem, mert írták volna)

- nem is tudtak róla

- nem akarták

Ami viszont engem erről az oldalról:

http://www.sun.com/software/products/studio/

felkeltette a figyelmem az, hogy ez immár támogatja az x86-ot is (beleértve az AMD64-et is).

Érdekes lenne egy gcc, icc, Sun Studio benchmark, főleg AMD64-re, mivel egyesek szerint jelenleg az icc a legjobb arra.

ui: icc-vel egy rakás csak nagyon nehezen fordítható...

"Van még olyan? Nem Sun Studio van helyette?"

De, de, csak a fene birja kovetni ezeket az allando termeknev valtasokat..

"- nem volt nekik"

Nem kifogas, x napig hasznalhato verziot le lehet tolteni a sun.com-rol.

"- nem fordult vele (kétlem, mert írták volna)"

Altalaban lefordul, van neki gnu C kompatibilitast bekapcsolo kapcsoloja

" nem is tudtak róla"

Bingo

"támogatja az x86-ot is (beleértve az AMD64-et is)."

Sot, a Linuxot is. x86 Solarist mar regota tamogatja (mondjuk nem optimalizalt eddig tulzottan, de a Studio 10-ben pont ez az ujdonsag).

Amit en lattam anyagot, az meg egy beta-t benchmarkolt (termeszetsen nem publikus), es ott magasan a gcc folott, az icc-t megkozelitve teljesitett.

Mondjuk kemenyen fizetos szoftver... (de ugye megint az jon, hogy ha esetleg 10%-kal optimalisabb kodot fordit, akkor 10 helyett 9 szerver eleg ugyanarra a trhougput-ra egy horizontalisan skalazodo alkalmazasbol, es ezzel be is hozza az arat - tudom, nem tul meggyozo erv).

Csak egy sorra reagálnék:

"magasan a gcc folott, az icc-t megkozelitve"

Az icc-nek van noncommercial licenszelési lehetősége, ebben az esetben ingyenes. Bár saját magam nem próbáltam, de egyesek szerint AMD64-re jelenleg a leggyorsabb kódot az icc készíti (ez egyébként régebben is így volt a rossz nyelvek szerint az AMD procikkal) és emellett nem üzleti felhasználásra ingyenes.

A Sun fordítója is érdekes lenne régebbi Sparcokba új életet lehelni, de ahogy mondod, pénzbe kerül és x86-ra még mindig van jobb, esetenként ingyenes alternatíva.

ui: az icc tényleg jobb, bár a gcc 3.4 is sokat javult...

Windows szerver miért nem volt? :)

Rekurzív DNS szervert kellett összeraknom a napokban, így körbenéztem és teszteltem kicsit.

A következőket próbáltam ki:

- bind 8.4.6

- bind 9.3.1beta2

- maradns 1.0.23

- djbdns (dnscache)

A tesztgép egy HP DL140-es volt FreeBSD-vel (Intel Xeon 3,06 GHz, 1 GB memória).

A legjobb a 8-as bind lett, utána következett a dnscache és a bind9, majd a maradns.

És hogy ezt miért mondtam el... Találtam egy HP-s benchmarkot:

ftp://ftp.cup.hp.com/dist/networking/briefs/lp2kr_dns_server_results.txt

amelyben DNS szervereket hasonlítanak össze. Az én adataim összevágnak az ottani adatokkal, így talán még korrektek is lehetnek.

Érdemes megnézni, hogy a Windows hogy teljesített...

Analógia: lehet, hogy a Windowson a mysql nem lett volna jobb, de lehet, hogy az MSSQL lenyomta volna mindet :)