Végeztem egy teljesítménytesztet xen szerveren (virtuálsi gépek hosztolására ajánlott megoldás https://help.ubuntu.com/community/Xen).
Mivel engem elsősorban webszerverek hosztolása céljából érdekel a téma, a teljesítménytesztet egy php-mysql webalkalmazásra készítettem el.
A vas: Intel 2x1.5GHz, 1 GB RAM
Oprendszer: Ubuntu-server 8.04.1
Létrehoztam egyetlen adatbázist egyetlen táblával:
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL auto_increment,
`szoveg` varchar(4095) NOT NULL,
`idopont` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `szoveg` (`szoveg`(767))
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
A teszt egy lépésében generáltam egy véletlen hosszú (max 4000 karakter) stringet és beletettem a táblába, majd lekérdeztem a tábla első 100 sorát a szoveg szerint rendezve.
A tesztet először 1000, majd 2000 és végül 5000 lépésben hajtottam végre. Mindegyiket háromszor megismételve.
A natív szerveren a következő futásidőket kaptam:
1000 lépés:
- 16 s
- 15 s
- 15 s
2000 lépés:
- 37 s
- 37 s
- 37 s
5000:
- 214
- 219
- 220
Ezután ugyanezeket a kisérleteket lefuttattam egy virtuális gépben is, amelyet lvm-en hoztam létre (4 GB), debian etch, 128 MB memóriával.
A futásidők:
1000:
- 20
- 20
- 20
2000:
- 50
- 51
- 50
5000:
- 304
- 305
- 304
Kivonva és elosztva az jött ki, hogy a gép teljesítménycsökkenése 33-42% között mozog. (Ezt úgy értem, hogy amikor 40%-os teljesítményveszteségről beszélek, akkor arra gondolok, hogy ami eredetileg 100 másodperc alatt futott, az 140 másodperc alatt fut, azaz 40%-al hosszabb ideig).