다시 컴파일 했답니다. /_/;
SUN,UltraSPARC
solaris 2.5
postgresql 6.5.3
이번에서 configure시에 with/maxbackends=64 를 해주었지요..
(전에는 그냥 Default로 했었거든요..)
무사히 install을 한 후에 postmaster를 실행시켰더니..
(아래 글에서 재익님이 말씀하셨지만 gmake를 사용하라고 되어
있습니다.)
IpcSemaphoreCreate error 가 발생하더군요..
(전에는 IpcMemoryCreate error였는데.. /_/; )
FAQ에서는 SEMMNS 와 SEMMNI 값을 증가시키라는데 모르겠더군요..
(SEMMNS: semaphores in system )
메일링 리스트를 뒤져서, etc/system 에 아래와 같이 추가했답니다.
set shmsys:shminfo_shmmax=0x7fffffff
set shmsys:shminfo_shmseg=51
/> 위두개는 공유메모리에러(IpcMemoryCreate error)때 추가..
set semsys:seminfo_semmns=72 </ 원래의 값은 50 이었답니다.
다시 reboot시키니 정상적으로 동작을 하네요.. ^^*
(semmns와 semmni에 대해 정확히 아시는 분 있으시면 설명 부탁
드릴께요.. ^^*)
참고로 저는 postmaster에 /B n_buffers 옵션도 같이 사용합니다.
default가 64이거든요..하지만 maxbackend값을 올려주면,
backend server process를 배분하고 관리하기 위한 공유메모리버퍼
도 커져야 한다는 글을 읽어서.. 4096으로 우선 설정했습니다.
(4096 buffer * 각 buffer당 8k = 32768k)
또 참고로.. postmaster에서 /o /F 옵션에 대해서..
postgres에서 /F 옵션은 fsync()를 사용하지 않는다는 뜻이라고
하더군요.. fsync()는 모든 트랜잭션이 완료된 직후 메모리에 있는
모든 버퍼내용을 디스크에 복사하는 기능을 가지고 있대요..
(더 잘아시는 분이 있으면 이것도 자세히 설명해주세요..^^*)
이 함수의 잇점은 OS crash나 DB server crash 혹은 전원이 나갔을때
모든 데이타가 디스크에 안전하게 복사될수 있도록 보장 해주는거
라는군요. 단점은 postgres의 속도가 느려진다는거...
따라서 postmaster에서 /o /F 옵션으로 Disable시켜주면 postgres의
속도가 5배에서 20배까지 빨라진다고 하고요..
제가 가지고 있는 책에 시간을 비교해놓은 표가 있는데..
두개의 50 character field에 1,000개를 insert하는 시간은 20배가
빠르고, 100,000개를 insert할때는 2배..
그리고 1,000 record를 지울때는 5배가 빠르군요..
그리고 1,000 adds 1,000 del 후의 vacuum 시간은 10배가 빠릅니다.
하지만 select 문에서는 시간차이가 거의 없어요..
(이 데이타는 참고만 하라고 써 있어요.. ^^*)
select 문에서는 속도차가 없음을 인지하고, 절대적인 안정성이냐..
속도냐의 문제는 DB 관리자가 잘 판단해야 할 문제라고 써 있군요..
음..원래 하려고 했던 얘기는 다시 컴파일해도 계속 postmaster
process가 뜬다는 거였는데.. psql 을 실행시킨후..
ps /ef|grep pgsql 로 보면,
pgsql 2411 0.3 5.038744 3072 ? S 20:30:56 0:00 postmaster /i /B 4
pgsql 418 0.1 3.238280 1960 ? S 18:56:38 0:00 postmaster /i /B 4
와 같이 되어있습니다..
하지만 직접 postmaster를 실행시키려고 하면.. 포트가 사용중이라며
에러가 발생하며 실행이 안되거든요..
결국에는 postmaster이름으로 process가 뜨지만 하는 역할은
postgres process라고 생각이 되어 지네요.. (억지..^^*)
그냥 계속 써볼려고요...
휴..이거 다시 컴파일하고 찾아보느라고.. 아직도 회사에 있답니다..
이제 저녁식사 하러 가야죠..
앞으로도 많은 도움 부탁드릴께요...
그럼..
|