[FreeBSD] postgresql ve performans

2008-04-29 Başlik Mesut GÜLNAZ
İ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

2008-04-29 Başlik Mesut GÜLNAZ
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..!!!

2008-04-29 Başlik Ismail OZATAY
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