[FreeBSD] postgresql ve performans
İsmail yenigül arkadaşımızın hazırlamış olduğu postgresql de performans konulu dökümandan yararlanarak alt yapısı # egrep CPU /var/run/dmesg.boot CPU: Intel(R) Xeon(TM) CPU 3.20GHz (3189.40-MHz 686-class CPU) Hyperthreading: 2 logical CPUs cpu0: ACPI CPU on acpi0 # top -S last pid: 61371; load averages: 0.62, 0.61, 0.56 up 0+19:49:52 10:28:12 189 processes: 4 running, 129 sleeping, 56 waiting CPU states: 16.7% user, 0.0% nice, 10.9% system, 1.6% interrupt, 70.8% idle Mem: 209M Active, 2599M Inact, 219M Wired, 20K Cache, 112M Buf, 798M Free Swap: 6144M Total, 6144M Free Şeklinde olan bir sunucu üzerinde sysctl.conf dosyasına kern.ipc.shmmax=1073741824 #shmall = shmmax / 4096 (page size) kern.ipc.shmall=262144 kern.ipc.semmsl=512 kern.ipc.semmap=256 parametrelerini /boot/loader.conf dosyasına kern.ipc.semmni=512 kern.ipc.semmns=1024 kern.ipc.semmnu=512 kern.maxusers=512 parametrelerini girdim. postgresql.conf dosyasında ise aşağıdaki değişiklikleri yaptım. max_connections = 100 shared_buffers = 512MB work_mem = 5MB effective_cache_size = 1024MB sunucuyu yeniden başlattıktan sonra postgresql başlangıçta çalışmadı ve ctrl-c ile başlatılmasını durdurdum ve sunucunun açılmasını sağladım. Daha sonradan elle çalıştırmaya çalıştığımda aşağıdaki hatayı aldım. Bu hata ctrl-c ile kesmeden öncede verilen hatanın aynısı. Sorun nedir ve nasıl çözebilirim? Değerleri nasıl değiştirerek uygun bir değerler dengesi sağlayabilirim... Apr 28 14:27:54 www postgres[47361]: [1-1] ÖLÜMCÜL: shared memory segment oluşturulamıyor: Invalid argument Apr 28 14:27:54 www postgres[47361]: [1-2] AYRINTI:Başarısız sistem çağrısı: shmget(key=5432001, size=140214272, 03600). Apr 28 14:27:54 www postgres[47361]: [1-3] İPUCU:Bu hata, PostgreSQL'in shared memory isteğinin kernelin SHMMAX parametresinde verilen değerinin aıldığını gösteriyor. Apr 28 14:27:54 www postgres[47361]: [1-4] İstenilen bellek boyutunu dürebilir veya kerneli daha büyük bir SHMMAX parametresi ile yeniden konfigure edebilirsiniz. Apr 28 14:27:54 www postgres[47361]: [1-5] İstenilen bellek boyutunu (şu an 140214272 bayt) düşürmek için PostgreSQL'in shared_buffers parametresini (şu an 16384) ve/veya Apr 28 14:27:54 www postgres[47361]: [1-6] max_connections (şu an 100) parametrelerini düşürebilirsiniz. Apr 28 14:27:54 www postgres[47361]: [1-7] Eğer istenilen bellek boyutu zaten küçük ise, kernelin SHMMIN parametresinden düşük olabilir, bu durumda istenilen bellek Apr 28 14:27:54 www postgres[47361]: [1-8] boyutunu SHMMIN değerine kadar büyütmeniz lazım veya SHMMIN değerini düşürmeniz lazmı. PostgreSQL dokümanlarında shared memory Apr 28 14:27:54 www postgres[47361]: [1-9] konfigurasyonu hakkında daha fazla bilgi bulabilirsiniz. İyi çalışmalar... Mesut GÜLNAZ
[FreeBSD] RE: postgresql ve performans
kern.ipc.shmmax=1073741824 değerini hemen hemen 2 katına çıkarttığımda sorun düzeldi. kern.ipc.shmmax=2073741824 nedeni: shared_buffer komple shared memory ancak shared memory için verdiğiniz değer sistemde çalışan diğer uygulamaların da kullandığı ortak memory kapasitesini aşmamalı. Ortak kullanılan bir shared memory olduğundan postgresql'e bu kadarlık alan içerisinde kendine yeteni kadar kullan denilmelidir. shmax degeri 1GB olunca en fazla 440MB tanımlanabiliyor... Örnek: max_connections = 100 # (change requires restart) # Note: Increasing max_connections costs ~400 bytes of shared memory per # connection slot, plus lock space (see max_locks_per_transaction). You might # also need to raise shared_buffers to support more connections. shared_buffers = 512MB # min 128kB or max_connections*16kB İsmail Yenigül'e teşekkürler... From: Mesut GÜLNAZ [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 29, 2008 10:40 AM To: 'freebsd@lists.enderunix.org' Subject: postgresql ve performans İsmail yenigül arkadaşımızın hazırlamış olduğu postgresql de performans konulu dökümandan yararlanarak alt yapısı # egrep CPU /var/run/dmesg.boot CPU: Intel(R) Xeon(TM) CPU 3.20GHz (3189.40-MHz 686-class CPU) Hyperthreading: 2 logical CPUs cpu0: ACPI CPU on acpi0 # top -S last pid: 61371; load averages: 0.62, 0.61, 0.56 up 0+19:49:52 10:28:12 189 processes: 4 running, 129 sleeping, 56 waiting CPU states: 16.7% user, 0.0% nice, 10.9% system, 1.6% interrupt, 70.8% idle Mem: 209M Active, 2599M Inact, 219M Wired, 20K Cache, 112M Buf, 798M Free Swap: 6144M Total, 6144M Free Şeklinde olan bir sunucu üzerinde sysctl.conf dosyasına kern.ipc.shmmax=1073741824 #shmall = shmmax / 4096 (page size) kern.ipc.shmall=262144 kern.ipc.semmsl=512 kern.ipc.semmap=256 parametrelerini /boot/loader.conf dosyasına kern.ipc.semmni=512 kern.ipc.semmns=1024 kern.ipc.semmnu=512 kern.maxusers=512 parametrelerini girdim. postgresql.conf dosyasında ise aşağıdaki değişiklikleri yaptım. max_connections = 100 shared_buffers = 512MB work_mem = 5MB effective_cache_size = 1024MB sunucuyu yeniden başlattıktan sonra postgresql başlangıçta çalışmadı ve ctrl-c ile başlatılmasını durdurdum ve sunucunun açılmasını sağladım. Daha sonradan elle çalıştırmaya çalıştığımda aşağıdaki hatayı aldım. Bu hata ctrl-c ile kesmeden öncede verilen hatanın aynısı. Sorun nedir ve nasıl çözebilirim? Değerleri nasıl değiştirerek uygun bir değerler dengesi sağlayabilirim... Apr 28 14:27:54 www postgres[47361]: [1-1] ÖLÜMCÜL: shared memory segment oluşturulamıyor: Invalid argument Apr 28 14:27:54 www postgres[47361]: [1-2] AYRINTI:Başarısız sistem çağrısı: shmget(key=5432001, size=140214272, 03600). Apr 28 14:27:54 www postgres[47361]: [1-3] İPUCU:Bu hata, PostgreSQL'in shared memory isteğinin kernelin SHMMAX parametresinde verilen değerinin aıldığını gösteriyor. Apr 28 14:27:54 www postgres[47361]: [1-4] İstenilen bellek boyutunu dürebilir veya kerneli daha büyük bir SHMMAX parametresi ile yeniden konfigure edebilirsiniz. Apr 28 14:27:54 www postgres[47361]: [1-5] İstenilen bellek boyutunu (şu an 140214272 bayt) düşürmek için PostgreSQL'in shared_buffers parametresini (şu an 16384) ve/veya Apr 28 14:27:54 www postgres[47361]: [1-6] max_connections (şu an 100) parametrelerini düşürebilirsiniz. Apr 28 14:27:54 www postgres[47361]: [1-7] Eğer istenilen bellek boyutu zaten küçük ise, kernelin SHMMIN parametresinden düşük olabilir, bu durumda istenilen bellek Apr 28 14:27:54 www postgres[47361]: [1-8] boyutunu SHMMIN değerine kadar büyütmeniz lazım veya SHMMIN değerini düşürmeniz lazmı. PostgreSQL dokümanlarında shared memory Apr 28 14:27:54 www postgres[47361]: [1-9] konfigurasyonu hakkında daha fazla bilgi bulabilirsiniz. İyi çalışmalar... Mesut GÜLNAZ
Re: [FreeBSD] freeBSD tomcat script..!!!
sinan hocam slm; yazmayı unuttum bendeki lokasyona göre örnek veriyorum sen ilgili yerlerde uygula. /usr/java/tomcat/conf/tomcat-users.xml içine ; ?xml version='1.0' encoding='utf-8'? tomcat-users role rolename=manager/ user username=sinan password=sinan roles=manager/ /tomcat-users şeklinde bir tanım girersen kulanıcı adı sinan ve şifre sinan ile http://sunucu:8080 adresinden tomcat managera girersin Kolay gelsin - Original Message - From: Sinan To: freebsd@lists.enderunix.org Sent: Thursday, April 24, 2008 1:07 PM Subject: [FreeBSD] freeBSD tomcat script..!!! Merhaba arkadaslar uzun bir uğraş sonucu tomcati kurup calistirmayi basardim yanliz bir kac sorunum var enderunix in sitesindeki tomcat icin olan start scriptini kullaniyorum fakat script calismiyor bunun nedenide Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program bu hata bashprofile dosyasına bir takım tanımlamalar yapmak gerekiyor olusturduğum kullanıcı adı tomcat dizin olarak da /usr/local/tomcat5.5 bu dizin tanımlı , simdi tomcat kullanicisinin bashprofile dosyasını nasil bulurum ve bulduktan sonra icine ne gibi tanimlamalar yapmam gerekiyor bu scripttin calismasi icin , ikinci sorumda admin girisi yapamiyorum tomcate bu neden kaynaklanabilir su anda server.xml ve tomcat-users.xml dosyalarında bir deisiklik yapmadım default tanımlarla girmeye calisiyorum ama giremiyorum aklima gelen cozum yolu serv server.xml dosyasından disardan login olabilmek icin bir tanimlama yapmak ama baya bir arastirdim oyle bir tanimlama yok bu konuda yardımcı olursanız cok sevinirim saygılar