Disk G/Ç hız denetimi
Disk-I/O hız denetimi, çok büyük miktarlarda çıktı üreten programların sistemin G/Ç tesislerini doyurmasını ve daha az zorlu programların yanıt sürelerinin bozulmasına neden olmasını önlemeyi amaçlamaktadır.
Disk-I/O hız denetimi, bekleyen tüm G/Ç ' lerin toplamıyla kesim başına ya da dosya başına, yüksek ve düşük su işaretleri uygulanmasını sağlar. Bir işlem zaten üst sınır işareti bekleyen yazma işlemleri olan bir dosyaya yazma girişiminde bulunduğunda, işlem, bekleyen yazma işlemlerinin sayısını alt sınır işaretindenaz ya da bu değere eşit yapmak için yeterli sayıda G/Ç tamamlanıncaya kadar uyku durumuna getiriliyor. G/Ç isteği işleme mantığı değişmez. Yüksek hacimli süreçlerin çıkışı biraz yavaşlıyor.
System Environments-> Change/Show Ayırıcı Özellikleri of Operating System(smitty chgsys) seçeneklerini belirleyerek ve daha sonra maxpout ve minpout takma seçeneklerini kullanarak yüksek ve düşük su işaretleri için ya da tek tek dosya sistemleri için sayfa sayısını girerek SMIT aracı ile yüksek ve düşük su işaretlerini sistem çapında ayarlayabilirsiniz.
maxpout parametresi, iş parçacıkları askıya alınmadan önce G/Ç durumunda bir dosyaya zamanlanabilecek sayfa sayısını belirtir. minpout parametresi, iş parçacıklarının askıya alındı durumundan uyandırıldığı zamanlanmış sayfa sayısı alt sınırını belirtir. maxpout varsayılan değeri 8193, minpout değeri 4096 'dır. G/Ç hızını devre dışı bırakmak için her ikisini de sıfır olarak ayarlamanız yeterlidir.
mount -o minpout=0,maxpout=0 /<file system>
maxpout ve minpout parametrelerinin ayarlanması, bir dosyaya sıralı yazma işlemi yapan herhangi bir iş parçacığının sistem kaynaklarına egemen olmasını önleyebilir.Aşağıdaki çizelge, diske yazarken maxpout ve minpout parametrelerine ilişkin çeşitli değerlerle 1.7 GHz işlemcili 4 yönlü sistem olarak yapılandırılan IBM® eServer pSeries model 7039-651 'de vi düzenleyicisinin oturumunun yanıt süresini göstermektedir:
maxpout değeri | minpout değeri | dd blok boyutu (10 GB) | yazma (sn) | Verim (MB/sn) | vi yorumları |
---|---|---|---|---|---|
0 | 0 | 10000 | 201 | 49.8 | dd tamamlandıktan sonra |
33 | 24 | 10000 | 420 | 23.8 | gecikme yok |
65 | 32 | 10000 | 291 | 34.4 | gecikme yok |
129 | 32 | 10000 | 312 | 32.1 | gecikme yok |
129 | 64 | 10000 | 266 | 37.6 | gecikme yok |
257 | 32 | 10000 | 316 | 31.6 | gecikme yok |
257 | 64 | 10000 | 341 | 29.3 | gecikme yok |
257 | 128 | 10000 | 223 | 44.8 | gecikme yok |
513 | 32 | 10000 | 240 | 41.7 | gecikme yok |
513 | 64 | 10000 | 237 | 42.2 | gecikme yok |
513 | 128 | 10000 | 220 | 45.5 | gecikme yok |
513 | 256 | 10000 | 206 | 48.5 | gecikme yok |
513 | 384 | 10000 | 206 | 48.5 | 3-6 saniye |
769 | 512 | 10000 | 203 | 49.3 | 15-40 saniye, daha uzun olabilir. |
769 | 640 | 10000 | 207 | 48.3 | 3 saniyeden az |
1025 | 32 | 10000 | 224 | 44.6 | gecikme yok |
1025 | 64 | 10000 | 214 | 46.7 | gecikme yok |
1025 | 128 | 10000 | 209 | 47.8 | 1 saniyeden az |
1025 | 256 | 10000 | 204 | 49.0 | 1 saniyeden az |
1025 | 384 | 10000 | 203 | 49.3 | 3 saniye |
1025 | 512 | 10000 | 203 | 49.3 | 25-40 saniye, daha uzun olabilir |
1025 | 640 | 10000 | 202 | 49.5 | 7-20 saniye, daha uzun olabilir. |
1025 | 768 | 10000 | 202 | 49.5 | 15-95 saniye, daha uzun olabilir |
1025 | 896 | 10000 | 209 | 47.8 | 3-10 saniye |
maxpout ve minpout parametreleri için en iyi aralık, CPU hızına ve G/Ç sistemine bağlıdır. maxpout parametresinin değeri j2_nPagesPerWriteBehindCluster parametresinin değerine eşit ya da bu değerden büyükse, G/Ç hız denetimi iyi çalışır. Örneğin, maxpout parametresinin değeri 64 ise ve minpout parametresi 32 ise, G/Ç durumunda en fazla 64 sayfa ve sonraki yazmayı engellemeden önce 2 G/Ç vardır.
Parametre | Varsayılan Değer |
---|---|
j2_nPagesPerWriteBehindCluster | 32 |
j2_nBufferPerPagerDevice | 512 |
Gelişmiş JFS için, bir kerede zamanlanacak sayfa sayısını belirtmek üzere ioo -o j2_nPagesPerWriteBehindCluster komutunu kullanabilirsiniz. Gelişmiş JFS kümesi için varsayılan sayfa sayısı 32 'dir ve bu, Gelişmiş JFS için varsayılan 128 KB boyutunu belirtir. Dosya sistemi hata yapılarının sayısını belirtmek için ioo -o j2_nBufferPerPagerDevice komutunu kullanabilirsiniz. Varsayılan değer 512 'dir. Değerin yürürlüğe girmesi için dosya sisteminin yeniden kaldırılması gerekir.
Enhanced JFS için, önceden bağlanmış bir dosya sisteminin maxpout ve minpout değerlerini değiştirmek üzere mount -o remount komutunu kullanabilirsiniz.