|
bad (2 times) gfs read performance under x86_64 compared to i386 WAS: Re: A: msg#00106linux.redhat.cluster
Hi I have done some futher testing on this issue, and I noticed an interesting behavior. We have an installation with RHEL4 on i386 hardware (old SAN) and one under new x86_64 (dual CPU each hyptherthreading). On i386 read performance is better than write performance (under ext3 and gfs) On x86_64 read performance is better the write performance under ext3 but two times bader under gfs (Filsystem created with lock_nolock) Here a short summary: i386 ext3 write: 1:16 read: 0:55 read: 0:43 (blockdev --setra 8192) i386 ext3 write: 1:30 read: 1:08 read: 1:08 (blockdev --setra 8192) x86_64 ext3 write: 0:35 read: 0:27 read: 0:18 (blockdev --setra 8192) x86_64 gfs write: 0:27 read: 1:03 read: 1:03 (blockdev --setra 8192) The gnbd tests I did last week were under x86_64 to, so that might not be an gnbd issue, but an gfs issue under x86_64. The tests where done under 2.6.9-5.0.3.ELsmp and 2.6.9-6.38.ELsmp with current GFS from CVS (RHEL4 TAG) with no difference. Can anyone reproduce this behavior? Greetings Hansjörg Here the detailed tests [root@chianti sda1]# uname -a Linux chianti.itsd.de 2.6.9-6.38.EL #1 Wed Apr 13 01:36:09 EDT 2005 i686 athloni386 GNU/Linux [root@chianti ~]# mkfs.ext3 /dev/sda1 mke2fs 1.35 (28-Feb-2004) max_blocks 4294967295, rsv_groups = 0, rsv_gdb = 1024 Dateisystem-Label= OS-Typ: Linux BlockgröÃe=4096 (log=2) FragmentgröÃe=4096 (log=2) 5341184 Inodes, 10673176 Blöcke 533658 Blöcke (5.00%) reserviert für den Superuser erster Datenblock=0 Maximum filesystem blocks=12582912 326 Blockgruppen 32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe 16384 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Schreibe Inode-Tabellen: erledigt inode.i_blocks = 98312, i_size = 4243456 Erstelle Journal (8192 Blöcke): erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt Das Dateisystem wird automatisch alle 28 Mounts bzw. alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit tune2fs -c oder -t . [root@chianti ~]# mount /dev/sda1 /mnt/sda1/ [root@chianti ~]# cd /mnt/sda1 [root@chianti sda1]# free total used free shared buffers cached Mem: 515736 164504 351232 0 43544 25104 -/+ buffers/cache: 95856 419880 Swap: 786424 152 786272 [root@chianti sda1]# time mkfile 1000M a real 1m16.242s user 0m0.009s sys 0m16.273s [root@chianti sda1]# time mkfile 1000M b real 1m17.738s user 0m0.009s sys 0m15.511s [root@chianti sda1]# time cat a > /dev/null real 0m55.025s user 0m0.193s sys 0m6.529s [root@chianti sda1]# time cat b > /dev/null real 0m54.241s user 0m0.220s sys 0m6.331s [root@chianti sda1]# blockdev --setra 8192 /dev/sda1 [root@chianti sda1]# time cat a > /dev/null real 0m43.565s user 0m0.189s sys 0m6.014s [root@chianti sda1]# time cat b > /dev/null real 0m43.214s user 0m0.196s sys 0m6.727s [root@chianti ~]# gfs_mkfs -p lock_nolock -j 3 /dev/sda1 This will destroy any data on /dev/sda1. It appears to contain a EXT2/3 filesystem. Are you sure you want to proceed? [y/n] y Device: /dev/sda1 Blocksize: 4096 Filesystem Size: 10573560 Journals: 3 Resource Groups: 162 Locking Protocol: lock_nolock Lock Table: Syncing... All Done [root@chianti sda1]# time mkfile 1000M a real 1m27.421s user 0m0.010s sys 0m12.202s [root@chianti sda1]# time mkfile 1000M b real 1m35.009s user 0m0.006s sys 0m12.513s [root@chianti sda1]# time cat a > /dev/null real 1m12.609s user 0m0.153s sys 0m9.980s [root@chianti sda1]# time cat b > /dev/null real 1m7.989s user 0m0.154s sys 0m10.427s [root@chianti sda1]# blockdev --setra 256 /dev/sda1 [root@chianti sda1]# time cat a > /dev/null real 1m8.402s user 0m0.082s sys 0m8.841s [root@chianti sda1]# time cat b > /dev/null real 1m8.647s user 0m0.124s sys 0m9.565s [root@chianti sda1]# blockdev --setra 8192 /dev/sda1 [root@chianti sda1]# time cat a > /dev/null real 1m8.419s user 0m0.115s sys 0m9.262s [root@rmvbs02 ~]# uname -a Linux rmvbs02.cluster.robotic.dlr.de 2.6.9-5.0.3.ELsmp #1 SMP Sat Feb 19 15:45:14 CST 2005 x86_64 x86_64 x86_64 GNU/Linux [root@rmvbs02 ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.35 (28-Feb-2004) max_blocks 4294967295, rsv_groups = 131072, rsv_gdb = 977 Dateisystem-Label= OS-Typ: Linux BlockgröÃe=4096 (log=2) FragmentgröÃe=4096 (log=2) 97615872 Inodes, 195221872 Blöcke 9761093 Blöcke (5.00%) reserviert für den Superuser erster Datenblock=0 Maximum filesystem blocks=4294967296 5958 Blockgruppen 32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe 16384 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000 Schreibe Inode-Tabellen: erledigt inode.i_blocks = 140696, i_size = 4243456 Erstelle Journal (8192 Blöcke): erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt Das Dateisystem wird automatisch alle 38 Mounts bzw. alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit tune2fs -c oder -t . [root@rmvbs02 tmp]# free total used free shared buffers cached Mem: 1026364 65960 960404 0 684 15544 -/+ buffers/cache: 49732 976632 Swap: 2739040 1360 2737680 [root@rmvbs02 tmp]# time mkfile 2000M a real 0m35.560s user 0m0.005s sys 0m7.596s [root@rmvbs02 tmp]# time mkfile 2000M b real 0m30.917s user 0m0.005s sys 0m7.707s [root@rmvbs02 tmp]# time mkfile 2000M c real 0m40.663s user 0m0.010s sys 0m7.806s [root@rmvbs02 tmp]# time cat a > /dev/null real 0m28.787s user 0m0.122s sys 0m2.818s [root@rmvbs02 tmp]# time cat b > /dev/null real 0m27.468s user 0m0.124s sys 0m2.678s [root@rmvbs02 tmp]# blockdev --getra /dev/sdb1 128 [root@rmvbs02 tmp]# blockdev --setra 8192 /dev/sdb1 [root@rmvbs02 tmp]# time cat c > /dev/null real 0m18.541s user 0m0.105s sys 0m2.064s [root@rmvbs02 tmp]# time cat a > /dev/null real 0m18.464s user 0m0.117s sys 0m2.035s [root@rmvbs02 ~]# gfs_mkfs -p lock_nolock -j 3 /dev/sdb1 This will destroy any data on /dev/sdb1. It appears to contain a EXT2/3 filesystem. Are you sure you want to proceed? [y/n] y Device: /dev/sdb1 Blocksize: 4096 Filesystem Size: 195108656 Journals: 3 Resource Groups: 2978 Locking Protocol: lock_nolock Lock Table: Syncing... All Done [root@rmvbs02 ~]# mount -t gfs /dev/sdb1 /mnt/tmp/ [root@rmvbs02 ~]# cd /mnt/tmp/ [root@rmvbs02 tmp]# time mkfile 2000M a real 0m24.616s user 0m0.004s sys 0m4.892s [root@rmvbs02 tmp]# time mkfile 2000M b real 0m27.023s user 0m0.005s sys 0m5.027s [root@rmvbs02 tmp]# time mkfile 2000M c real 0m29.205s user 0m0.005s sys 0m5.163s [root@rmvbs02 tmp]# time cat a > /dev/null real 1m4.698s user 0m0.120s sys 0m6.138s [root@rmvbs02 tmp]# time cat b > /dev/null real 1m2.958s user 0m0.132s sys 0m6.175s [root@rmvbs02 tmp]# time cat c > /dev/null real 1m2.867s user 0m0.109s sys 0m6.079s [root@rmvbs02 tmp]# blockdev --getra /dev/sdb1 8192 [root@rmvbs02 tmp]# blockdev --setra 256 /dev/sdb1 [root@rmvbs02 tmp]# time cat a > /dev/null real 1m2.931s user 0m0.101s sys 0m6.073s Benjamin Marzinski wrote: On Thu, Apr 21, 2005 at 07:58:49AM +0200, Hansjörg Maurer wrote: |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: GFS 6.0 on Kernel 2.4.xx: 00106, Patricio Bruna V. |
|---|---|
| Next by Date: | Re: Re: Out of Memory Problem: 00106, Raj Kumar |
| Previous by Thread: | Re: AW: GNBD multipath with devicemapper? -- possible solutioni: 00106, Hansjörg Maurer |
| Next by Thread: | Can LOCK_NOLOCK be used in this situation?: 00106, Srini Sankaran |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |