|
|
51. rida: |
51. rida: |
| See on kah kahtlane, tasub pigem erinevate väärtustega mängida sest liiga | | See on kah kahtlane, tasub pigem erinevate väärtustega mängida sest liiga |
| suureks keeramine võib negatiivselt mõjuda. | | suureks keeramine võib negatiivselt mõjuda. |
− |
| |
− | ===iSCSI jõudluse suurendamine===
| |
− |
| |
− | vaja leida hea kompromiss latentsi suhtes. Tüüpilise iSCSI kasutava masina
| |
− | kettkasutusmuster on teistsugune -- rohkem väiksemaid pakette ja latents
| |
− | on kriitilisem. Tuleb analüüsida mis kihid üksteise peale on laotud ning kus ja mida puhverdatakse. Võimalik et tuleb tuunida ka I/O scheduleri seadeid hostis ja/või klientides.
| |
− |
| |
− | Alternatiivseid iSCSI stacke võib kah proovida, selles suhtes on viimastes kernelites toimunud mingid arengud ja loodetavasti paremuse suunas.
| |
− |
| |
− | ===Jumbo kaadrite lubamine===
| |
− |
| |
− | Kõik switchid ei pruugi jumbo kaadreid ja flowcontrolli toetada. Tasub enne
| |
− | switchi manualist järgi uurida kui neid hakata lubama. Töötavat võrguseadet
| |
− | saab jooksvalt ümber seadistada ifconfigu abil.
| |
− |
| |
− | # ifconfig eth0
| |
− | eth0 Link encap:Ethernet HWaddr 00:0E:0C:70:C9:63
| |
− | inet addr:172.19.51.160 Bcast:172.19.255.255 Mask:255.255.0.0
| |
− | UP BROADCAST RUNNING MULTICAST '''MTU:1500''' Metric:1
| |
− |
| |
− | See mis meid huvitab on MTU väärtus. Hetkel on see seatud 1500 peale mis pole
| |
− | jumbo paketi suurus. Selleks, et muuta tuleb anda järgnev käsk:
| |
− |
| |
− | # ifconfig eth0 mtu 9000
| |
− | # ifconfig eth0
| |
− | eth0 Link encap:Ethernet HWaddr 00:0E:0C:70:C9:63
| |
− | inet addr:172.19.51.160 Bcast:172.19.255.255 Mask:255.255.0.0
| |
− | UP BROADCAST RUNNING MULTICAST '''MTU:9000''' Metric:1
| |
− |
| |
− | Selleks, et muuta seadistus Debianis püsivaks
| |
− |
| |
− | #cat /etc/network/interfaces
| |
− | auto eth1
| |
− | iface eth1 inet static
| |
− | address 192.168.1.100
| |
− | netmask 255.255.255.0
| |
− | gateway 192.168.1.1
| |
− | MTU=9000
| |
− |
| |
− | isc-dhcpd abil muutmine
| |
− |
| |
− | subnet 192.168.0.0 netmask 255.255.255.0 {
| |
− | option broadcast-address 192.168.0.255;
| |
− | option routers 192.168.0.1;
| |
− | option interface-mtu 9000;
| |
− | }
| |
− |
| |
− | ===Linuxi I/O SCHEDULERi muutmine===
| |
− |
| |
− | Linux pakub mitmesuguseid kerneli I/O scheduleerijaid. Näiteks Redhatis on vaikimisi "CGQ"
| |
− | (Completely Fair Queuing). Näiteks Open-iSCSI grupp teatab, et vahel võib "NOOP"i kasutamine
| |
− | toimida iSCSI serveri puhul paremini.
| |
− |
| |
− | *http://www.redhat.com/magazine/008jun05/features/schedulers/
| |
− |
| |
− | Scheduleri saab jooksvalt muuta keskonnas näiteks järgnevalt:
| |
− |
| |
− | #echo noop > /sys/block/${DEVICE}/queue/scheduler
| |
− |
| |
− | Samamoodi saab hiljem muuta seadistuse tagasi cfg peale
| |
− |
| |
− | ===LINUX READ AHEAD VALUE===
| |
− |
| |
− | Vaikimisi küsib Linux lugemise ajal järgmised 256 sektorit. Selle muutuja suurendamine
| |
− | võib lugemiskiirust märkimisväärselt suurendada. Ehk öelda siis kernelile, e ta loeks
| |
− | rohkem sektoreid vaikimisi ette.
| |
− |
| |
− | Seda read-ahead numbrit saab muuta blockdev käsuga.
| |
− |
| |
− | This is only valuable with sequential I/O-type applications, and can cause performance problems with high random I/O. Under sequential I/O. the performance gain was observed to be in the 10%-20% range.
| |
− |
| |
− | Süntaks on: blockdev –setra X <device name>
| |
− |
| |
− | Näiteks
| |
− |
| |
− | # /sbin/blockdev –setra 4096 /dev/sda
| |
− |
| |
− | Et vaadelda eksisteerivat read ahead seadistusi kirjuta:
| |
− |
| |
− | # blockdev –getra <device name>
| |
− |
| |
− | Jumbod tuelb kindlasti lubada kui switch ja kõik masinad toetavad.
| |
− |
| |
− | *http://www.gentoo-wiki.info/TIP_Jumbo_Frames
| |
− |
| |
− | http://forum.open-e.com/showthread.php?t=1138
| |
− |
| |
− | http://www.randomboot.org/storage/518-iscsi-performance-tuning.html
| |
iSCSI serveri seadistus
Unmaskime iscsitargeti
# "echo "sys-block/iscsitarget" >> /etc/portage/package.keywords"
Paigaldame iscasitargeti
# emerge iscsitarget
Teeme iscsi_trgt mooduli stardil laaditavaks
#echo "iscsi_trgt" >> /etc/modules.autoload.d/kernel-2.6
Loome ietd.conf faili
/etc/ietd.conf
Target iqn.2001-04.org.gentoo:iSCSI.test.disk1
Lun 0 Path=/dev/hda5,Type=fileio
MaxConnections 1
#InitialR2T Yes
#ImmediateData No
#MaxRecvDataSegmentLength 8192
#MaxXmitDataSegmentLength 8192
#MaxBurstLength 262144
#FirstBurstLength 65536
#DataPDUInOrder Yes
#DataSequenceInOrder Yes
#ErrorRecoveryLevel 0
#HeaderDigest CRC32C
#DataDigest CRC32C
#Wthreads 8
Stardime ietd deemoni
# /etc/init.d/ietd start
Deemon võib startimisel soovitada sysctl muutujaid seadistada näiteks:
* net.ipv4.tcp_mem:min (766944) is lower than recommended 1048576
* net.ipv4.tcp_mem:default (1022592) is lower than recommended 1048576
Mida võib ignoreerida, pigem näitab, et arendaja ei saa aru mida
tcp_mem väärtused tähendavad. Erinevalt tcp_rmem ja tcp_wmem asjadest
seda pole vaja näppida ja kui vajadus tekib, siis peab meeles pidama, et
ühikuks on page size (tüüpiliselt 4096 baiti).
* net.ipv4.tcp_rmem:min (131072) is lower than recommended 1048576
* net.ipv4.tcp_wmem:min (131072) is lower than recommended 1048576
See on kah kahtlane, tasub pigem erinevate väärtustega mängida sest liiga
suureks keeramine võib negatiivselt mõjuda.