Egy migrálásnál lényeges szempont a cél hardver és szoftver környezet teljesítménye, így egy méréssel kezdtem az ismerkedést. A virtuális gép az erőforrásait tekintve – első körben – kap 2GHz processzort, 2GBájt memóriát és 20GBájt tárhelyet, amelyek közül bármelyik módosítható utólag is (a memóriát mindenképpen növelni fogom, a jelenlegi 6GBájt kezd kevés lenni):
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
stepping : 2
cpu MHz : 2394.395
cache size : 12288 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush mmx fxsr sse sse2 ht syscall nx lm up rep_good unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm
bogomips : 4788.79
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
#
# free
total used free shared buffers cached
Mem: 2053384 238776 1814608 0 6544 135632
-/+ buffers/cache: 96600 1956784
Swap: 1023992 0 1023992
#
# df -h
Fájlrendszer Size Used Avail Use% Csatl. pont
/dev/xvda1 20G 992M 18G 6% /
tmpfs 1003M 0 1003M 0% /dev/shm
I/O benchmark
A virtuális gépek alapvetően nagyon jól működnek, a CPU és a memória tekintetében alig venni észre azt, hogy virtualizált környezetben futnak a programok, az I/O viszont gyengébb szokott lenni, így egy fájlrendszer tesztelő programmal kezdtem az ismerkedést, ehhez szükségem volt egy wget csomagra:
# yum install wget
[...]
Installed:
wget.x86_64 0:1.12-1.4.el6
Complete!
Majd ezek után a http://wiki.centos.org/AdditionalResources/Repositories/RPMForge oldal utasításait követve hozzáadtam az rpmforge repository-t, mint telepítési forrást:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
--2012-06-13 18:00:15-- http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
[...]
Mentés ide: „rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm"
100%[====================================================================================>] 12.700 --.-K/s idő 0,008s
2012-06-13 18:00:16 (1,48 MB/s) -- „rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm" mentve [12700/12700]
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm
rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
# rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm
Ezt követően megkerestem és feltelepítettem a bonnie++ programot, amely a fájlrendszer sebességének ellenőrzéséhez használható:
# yum search bonnie++
[...]
Installed:
bonnie++.x86_64 0:1.96-1.el6.rf
Complete!
A mérés
A mérés egyszerű, mint a faék, de előtte létre kell hozni egy felhasználót, mert a bonnie++ nem szeret root felhasználóval futni:
# adduser -g users -m auth.gabor
A bonnie++ egyik paramétere a teszteléshez felhasznált lemezterület, amelyet célszerű az elérhető memória kétszeresére megadni, így nem gyorstárból fogja elintézni az írás-olvasást, illetve a tesztet legalább egyszer érdemes megismételni.
Sun x2100M2
# bonnie++ -d /tmp/ -s 4096 -n 128 -u auth.gabor
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
freebsd.ebo.hu 4G 56 94 52139 21 27990 12 162 93 60016 11 77.9 2
Latency 761ms 7363ms 6382ms 256ms 166ms 2010ms
Version 1.96 ------Sequential Create------ --------Random Create--------
freebsd.ebo.hu -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
128 13257 92 8814 25 5283 41 10501 73 1216 13 12211 92
Latency 183ms 760ms 848ms 359ms 214ms 70422us
VPS@integrity.hu
# bonnie++ -d /tmp/ -s 4096 -n 256 -u auth.gabor
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
2619 4G 584 99 215582 19 45891 6 2415 98 147166 10 752.0 15
Latency 76235us 126ms 508ms 63749us 260ms 237ms
Version 1.96 ------Sequential Create------ --------Random Create--------
2619 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
256 24218 90 411129 99 6992 8 24541 92 502061 99 4207 5
Latency 172ms 60297us 2221ms 142ms 60075us 2524ms
Dell Inspiron N7110
# bonnie++ -d /tmp/ -s 4096 -n 256 -u auth.gabor
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
linux-s54h.site 16G 1000 95 81021 7 26259 3 2670 54 71375 5 133.1 4
Latency 16449us 7082ms 19292ms 103ms 1180ms 770ms
Version 1.96 ------Sequential Create------ --------Random Create--------
linux-s54h.site -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
512 38683 39 607920 69 1521 1 32931 33 +++++ +++ 933 1
Latency 1735ms 1085us 10196ms 1173ms 32us 9128ms
Mindez táblázatban
Egy Sun x2100M2 fizikai hardveren végzett hasonló teszt eredményével összevetve (illetve megnézheted egy régi is):
| block write | block rewrite | block read | |
|---|---|---|---|
| Sun | 52139 | 27990 | 60016 |
| VPS | 215582 | 45891 | 147166 |
| Dell | 81021 | 26259 | 71375 |
| seq create | seq delete | rnd create | rnd delete | |
|---|---|---|---|---|
| Sun (ZFS) | 13257 | 5283 | 10501 | 12211 |
| VPS (ext4) | 24218 | 6992 | 24541 | 4207 |
| Dell (ext4) | 38683 | 1521 | 32931 | 933 |
Úgy érzem, hogy az I/O nem lesz szűk keresztmetszet a meglévő fizikai géphez képest…
2000MHz számítási kapacitás
A következő érdekes téma a MHz mértékegységben mért számítási kapacitás, ezt úgy célszerű lemérni, hogy a művelet ne igényeljen sok I/O műveletet, de a processzort dolgoztassa meg.
A mérés
Feltöltöttem mindkét szerverre egy kb. 120MBájtos zip állományt, majd a bzip2 programmal megpróbáltam tömöríteni rajta egy keveset.
Sun x2100M2
$ ls -l data.zip
-rw-r--r-- 1 auth.gabor auth.gabor 125927036 jún 13 21:08 data.zip
$ time bzip2 -9 data.zip
real 0m54.809s
user 0m51.565s
sys 0m0.204s
$ time bzip2 -d data.zip.bz2
real 0m25.629s
user 0m21.884s
sys 0m0.292s
VPS@integrity.hu
$ ls -l data.zip
-rw-r--r--. 1 auth.gabor users 125927036 jún 13 21.09 data.zip
$ time bzip2 -9 data.zip
real 0m39.201s
user 0m38.877s
sys 0m0.272s
$ time bzip2 -d data.zip.bz2
real 0m17.430s
user 0m17.077s
sys 0m0.345s
Dell Inspiron N7110
$ ls -l data.zip
-rw-r--r-- 1 auth.gabor users 125927036 Jun 13 21:06 data.zip
$ time bzip2 -9 data.zip
real 0m27.653s
user 0m23.735s
sys 0m0.184s
$ time bzip2 -d data.zip.bz2
real 0m9.763s
user 0m9.574s
sys 0m0.165s
Mindez táblázaton
| bzip2 -9 | bzip2 -d | |
|---|---|---|
| Sun | 54.809 | 25.629 |
| VPS | 39.201 | 17.430 |
| Dell | 27.653 | 9.763 |
Nos, a CPU se adhat panaszra okot.
Pingback: FreeBSD után Linux – enaplo.hu