Forum
Bildirimler
Hepsini Temizle
Paylasim
1
Yazılar
1
Üyeler
0
Reactions
866
Görüntüleme
Konu başlatıcı
Merhaba,
Linux üzerinde Oracle 10g veritabanı kurulumunda linux kernel mimarisinde yapılması gereken parametre hesaplaması veritabanı performansında en önemli etkenlerden. Genelde, kurulum öncesinde parametre değerleri çok yüksek tutulmakta, böylece Oracle için geniş işletim sistemi kaynağı ayrıldığı varsayımı ile performansta sıkıntı yaşanmayacağı düşünülmektedir. Ancak, kernel değerlerinin gereksiz büyük olması tam tersine Oracle veritabanında başta aşırı(ve gereksiz) I/O trafiği ve bellek çatışmaları olmak üzere pek çok performans sıkıntısı yaşamanıza sebep olacaktır. Bu noktada alttaki metriksi, Linux kernel hesaplamasında optimal Oracle 10g veritabanı performansı için size kılavuzluk yapması umuduyla paylaşıyorum.
/etc/sysctl.conf içi parametre değeri | Tanımı | MINIMUM Değer | Hesaplama |
net.wmem_max | Maksimum gönderilen TCP paket değeri - byte | 1048576 (100Mbps bant genişliği ve ortalama 5.2 saniyelik latency değeri için) | >= 1048576 Formulü BDP = bant_genişliği_bytedeğeri* RTT(saniye) değeri ile çıkan sonucun 2 katıdır. |
net.wmem_default | Varsayılan gönderilen TCP paket değeri - byte | 262144 | >= 262144 net.wmem_max değerinin dörtte biridir. |
net.rmem_max | Maksimum alınan TCP paket değeri - byte | 4194304 | >= 4194304 OLTP sistemlerde net.wmem_max değerinin dört katıdır, DCS sistemlerde aynı olabilir. |
net.rmem_default | Varsayılan alınan TCP paket değeri - byte | 262144 | >= 262144 net.wmem_max değerinin dörtte biridir. |
net.ip_local_port_range | Kullanılacak minumum ve maksimum port sayısı | Minimum: 9000 | Ayar yoktur. Sabitleyin |
Maximum: 65500 | |||
kernel.shmmni | Sistem tarafında paylaşımlı bellek segment sayısı | 4096 | 4096'ya fikslenmektedir. |
kernel.shmmax | Linux prosesisinin ayırdığı maksimum single paylaşımlı bellek segment boyutu (bytes değeri olarak) | 1/2 den 2/3 e kadar fiziksel bellek değeri; 32 bit için max. 4GB -1, 64 bit için max. 4TB. | En yüksek SGA_MAX_SIZE değeri, SGA_TARGET,MEMORY_MAX_SIZE veya tüm instancelerin MEMORY_TARGET değeri |
Varsayılan: 536870912 | |||
kernel.shmall | Sistem tarafında kullanabilen paylaşımlı bellek sayfalarının toplam sayısı | 2097152 | shmmax/PAGE_SIZE |
(PAGE_SIZE değeri Huge Pages kullanılmadığı takdirde genellikle 4096 byte'dır. | |||
PAGESIZE şu şekil bulunur: | |||
"getconf PAGESIZE" | |||
kernel.sem:semopm | semop çağrısı olarak maksimum operasyon sayısı | 100 | semmsl değerine eşit |
kernel.sem:semmsl | Her set için toplam semaphores | 256. Enaz 100 tavsiye edilir. | Maksimum(PROCESS değeri) +10 |
kernel.sem:semmns | Sistem tarafında toplam semaphores sayısı | 32000 | semmsl * semmni |
kernel.sem:semmni | Toplam semaphores seti | 128. Enaz 100 olması tavsiye edilir. | semmsl / semmns |
kernel.msgmax | Maksimum mesaj kuyruk boyutu | 8192 | Fiziksel RAM değeri (MB olarak) |
fs.file-max | Sistem tarafında maksimum açılacak dosya sayısı | 327679 | 512 * PROCESSES |
kernel.sem | Eşzamanlı bekleyen I/O çağrıları | 250 32000 100 128 | 250 değerinin olduğu kısım SEMMSL değeridir ve 64 bit Oracle 10g platformunda PROCESSES parametre değerinin on katı olması lazımdır. 32000 değerinin olduğu kısım SEMMSL*SEMMNI değeri çarpımı çıkan değer olması gerekir. 100 değerinin olduğu kısım SEMOPM değeridir ve SEMMSL ile aynı değerde tutulması tavsiye edilir. |
Gönderildi : 29/12/2010 15:21