database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 3308 게시물 읽기
No. 3308
Re: Re: 문제를 알았습니다.
작성자
이중호
작성일
2001-08-24 09:48
조회수
2,939

답변 주신 여러분 너무 너무 감사합니다.

그리고 사실 이건 좀 실례되는 말씀인데요... 구래두 제 경험상 이렇게 말하고 싶습니다.

 

여러분... PostgreSQL 왠만하면 Windows에서 쓰지 마세요...

-,.-;;

 

일단 Cygwin은 Posix로 된 Unix like한 환경을 제공해 주는 에뮬레이터 같군요...

이넘을 이용해서 PostgreSQL이 돌아 갑니다.

그럼 Unix like한 환경을 Windows에서 제공해 준다면 어케 될까요?

일단 멀티 프로세스 체계입니다. PostgreSQL에 Connection을 하고 나서

 

Windows 작업 관리자를 보시죠~ postgres.exe가 하나 들어나 있습니다. 기본 Thread 3~4인 프로세스가 하나 fork()된 것이죠~

 

그럼... 1000개의 Connection을 걸면...

 

당근 1000개의 proccess가 복사 되어 생깁니다. 메모리 싸이즈까지 비슷한 넘이 쌍둥이가 1000개가 생기지요~ 메모리 폭주 함당~ ㅠ.ㅠ

 

Windows 작업 관리자에서 확인해 보시죠~

 

그렇다면 왜 저와 같은 일이 벌어 졌을 까요?

 

Cygwin에서 fork()하는 속도가 너무 느립니다.

 

Connection 요청 시간안에 fork()를 못해 주는 거지요~

 

그래서 Connection failure가 나는 것이었습니다.

 

동시 접속 Thread의 생성 loop 에 sleep(1000)을 주었지요...

 

그러니깐... failure 아 발생하지 않더군요... 하지만.... 늘어나는 process 들의 갯수들을 지켜보구 있어야 했답니다.

 

fork() 속도를 빠르게 하는 방법은 소스를 고쳐야 한다구 합니다.

postgresql.org 쪽 메일링 리스트 아카이브에서 슬쩍 본 것 같은데요...

 

정확히 어케 소스를 고치라는 말은 없더군요...

authentication 담에 fork()하지 말구요...

fork()를 먼저 하게 하라구 되어 있던디... 헤헤헤...

아직은 잘 모르겠습니다. 정확히 어케 풀어야 할지...

 

음... 이런 연유로..

 

불안정하니... Windows에서는 PostgreSQL 피해 가세요~

 

UNIX , LINUX에선 잘 됩니다. *^^*

 

원래 그쪽 시스템에 맞춰서 나온 거니깐요~

 

길동이 Test 보고서 쓰러 갑니다.

 

위에 답변 주신 두분 언제 소주라고 같이 하고 싶군요...

감사합니다. 정말...

 

그럼 이만~ *^^*

 

 

참~ MY SQL win version은 Windows 용으로 나왔기 땜시... Thread로 돕니다. *^^*

 

잘됩니다. *^^*

 

 

>>김일형 님께서 쓰시길<<

 

:: 안녕하세요.

::

:: 사실 저의 책임이 큽니다.

::

:: PostrgreSQL을 지금 리눅스에서 쓰고 있는데 백업의 목적 상 한번 윈도그에서 돌려보려고 시도를 하게

:: 됐고, 생초짜가 PostgreSQL을 윈도그에서 돌리는 방법을 올리게 되었습니다. 오늘과 같은 상황에 직면

:: 하게 되었습니다.

::

:: 만일 하시는 일에서 OS선택하실 수 있는 권한이 있으시다면 재익님의 제안을 고려해 보심이 좋을 듯합

:: 니다. 어차피 linux OS를 사용한다고 따로 라이센스 비용이 들어가는 것도 아니니...

::

:: 죄송합니다. 제가 책임지지도 못할 일을 벌여놓은 것 같아서..... ---___---;;

::

:: 김일형

::

:: >>정재익 님께서 쓰시길<<

::

:: :: 안녕하세요. 선생님의 메일 잘 받아 보았습니다.

:: :: 앞서 얼마전에도 비슷한 얘기를 하신 분이 계셨는데 안타깝게도 저가 답변을 드리지

:: :: 못했습니다. 개인적으로 개발에 윈도그를 별로 사용해 본적이 없었기 때문입니다.

:: :: 이 PostgreSQL 이라는 놈이 원래 Unix System V 계열에서 개발된 놈이고 해서 윈도그

:: :: 쪽에서 말썽을 많이 피우는 것 같습니다. Cygwin 이라는 것을 설치해서 돌리면 이것은

:: :: 어차피 윈도그에는 없는 Unix System V 계열의 system 라이브러리들을 구현시켜 주는

:: :: 놈이고 여기서 어떤 말썽이 생기면 이곳에서 돌아가는 다른 프로그램들도 덩달아 말

:: :: 썽을 일으키는 것 같습니다. 아마도 본격적인 개발에 윈도그를 이용하시는 분은 중호

:: :: 님이 처음일지도 모릅니다. 이곳에서 이런 정보를 같이 공유했으면 좋겠는데 아직은

:: :: 그런 질문을 하신분은 있어도 그런 경험을 적어 놓으신 분은 없는 것 같아서 저로서도

:: :: 안타깝게 생각합니다. 혹시 서버를 리눅스나 FreeBSD 로 바꿀수는 없을까요 :-)

:: ::

:: :: >>이중호 님께서 쓰시길<<

:: ::

:: :: ::

:: :: :: 우선 Pgsql 게시판에서 좋은 답변들 감사합니다.

:: :: ::

:: :: :: 전 pgsql 초보 입니다. 부끄럽습니다.

:: :: ::

:: :: :: 업무에 바쁘실텐데 다시 한번 죄송하다는 말씀을 올립니다.

:: :: ::

:: :: :: 본론은 Free dbms를 제가 개발하는 software에 적용하려고 합니다.

:: :: :: 알아본 결과 postgresql이 성능이 좋구 안정되다구 하더군요...

:: :: ::

:: :: :: 일단 환경은 win2k server 와 pro입니다.

:: :: ::

:: :: :: postgresql 을 Windows에 설치 하려면 cygwin이 필요하다고 하더군요...

:: :: ::

:: :: :: cygwin1.3.2를 full로 설치했습니다. 그 안에 postgresql 7.1.2가 포함이 되어 있

:: :: 더군요

:: :: ::

:: :: :: 설치후 바꾸어 준건 postgres.conf 파일 밖에 없습니다.

:: :: :: 제가 만드는 소프트웨어가 동시에 1000개 정도의 db connection이 필요해서

:: :: :: max connection 수를 1024로 버퍼의 수를 2048로 설정하였습니다.

:: :: ::

:: :: :: 연결은 pgsql odbc 7.1을 사용하였습니다.

:: :: ::

:: :: :: 그런데 동시에 connection을 걸어 보니 10개 정도의 socket만 열리고 Connection

:: :: 이 이루어 지고

:: :: :: 나머지 connection은 fail 되더군요....

:: :: ::

:: :: :: server에 에러에 대한 log가 남지 않아서 (debug level = 16 까지 해 봤습니다.)

:: :: :: ODBC 로그를 보니깐....

:: :: ::

:: :: :: CONN ERROR: func=SQLDriverConnect, desc='Error from CC_Connect', errnum=101,

:: :: errmsg='Could not c

:: :: :: onnect to the server'

:: :: :: ------------------------------------------------------------

:: :: :: henv=37216448, conn=37216608, status=0, num_stmts=16

:: :: :: sock=37223080, stmts=37231344, lobj_type=-999

:: :: :: ---------------- Socket Info -------------------------------

:: :: :: socket=-1, reverse=0, errornumber=4, errormsg='Could not connect

:: :: to remote socket.'

:: :: ::

:: :: :: buffer_in=37223136, buffer_out=37227240

:: :: :: buffer_filled_in=0, buffer_filled_out=0, buffer_read_in=0

:: :: ::

:: :: :: 이런 메세지들이 중간 중간 있더군요....

:: :: :: 다시 깔고 설치도 해 보았구요... postgreSql 7.0이랑 postgreSql 7.1.3을 받아서

:: :: 컴파일 하고 다시

:: :: :: 돌려 보니 똑같은 증상이 일어 납니다.

:: :: ::

:: :: :: 큰일이죠~

:: :: ::

:: :: :: 설마 하고 unix에 예전에 설치 되어 있던... postgreSql 7.0에게 같은 ODBC로 Conn

:: :: ection을 열어 보았

:: :: :: 습니다.

:: :: :: 그런데 놀랍게도 이건 정확히 max_Connection에 설정한 Connection을 받아 드리더

:: :: 군요~

:: :: ::

:: :: :: postgreSql windows 설치 팩키지두 테스트 해봤습니다. 결과는 실패입니다.

:: :: ::

:: :: :: cygwin1.3.2 부터는 스냅샷을 쓸 필요가 없다구 하더군요...

:: :: ::

:: :: :: 그런데... 그런데...

:: :: :: 왜 이럴 까요? ㅠ.ㅠ

:: :: ::

:: :: :: postgreSql 좋다구 제가 추천했는데... 이래서 큰일입니다.

:: :: ::

:: :: :: 어떻게 해결 방법을 찾아야 하는지 잘 모르겠습니다. FAQ 뒤져두 이런 거에 대한

:: :: 언급이 없군요

:: :: ::

:: :: :: 죄송합니다만...

:: :: :: 좀 조언을 부탁 드립니다.

:: :: ::

:: :: :: 환절기 감기 조심하시구요~ 늘 건강하시구 행복하시길 바랍니다.

:: :: ::

:: :: :: 감사합니다.

:: :: ::

:: :: :: 꾸벅~

:: :: ::

:: :: :: P.S. 혹시나 하구 win2k server와 win2k pro 모두 테스트 해봤습니다.

:: :: :: 결과는 실패입니다. ㅠ.ㅠ

:: :: ::

[Top]
No.
제목
작성자
작성일
조회
3314postmaster &amp;& initdb
궁금이
2001-08-27
2012
3315┕>Re: postmaster &amp;& initdb
정재익
2001-08-27 19:15:58
2132
3312[질문]pg_dump error
임상범
2001-08-27
3633
3313┕>Re: [질문]pg_dump error
정재익
2001-08-27 15:55:17
3629
3306[혹시나 MySQL와 같은 기능이 Postgres에도 있는지 ...]
나비라
2001-08-23
2129
3309┕>Re: [혹시나 MySQL와 같은 기능이 Postgres에도 있는지 ...]
coral
2001-08-24 11:47:09
2295
3301좀 도와 주십시요~ ㅠ.ㅠ
이중호
2001-08-23
2254
3304┕>Re: Windows 에서의 PostgreSQL 의 사용에 관한 이야기
정재익
2001-08-23 17:33:24
3340
3307 ┕>Re: Windows 에서의 PostgreSQL 의 사용에 관한 이야기
김일형
2001-08-23 23:24:31
2648
3308  ┕>Re: Re: 문제를 알았습니다.
이중호
2001-08-24 09:48:11
2939
3310   ┕>Re: Re: Re: 문제를 알았습니다.
정재익
2001-08-24 13:43:03
2335
3311    ┕>Re: Re: Re: Re: 재익님 말씀이 옳습니다.
이중호
2001-08-24 14:18:55
2359
3300글올린 다음의 메세지를 자동 갱신하려면?
정종화
2001-08-23
2451
3303┕>Re: 글올린 다음의 메세지를 자동 갱신하려면?
정재익
2001-08-23 17:17:29
2318
3305 ┕>Re: Re: 글올린 다음의 메세지를 자동 갱신하려면?
정종화
2001-08-23 18:41:29
2466
3318  ┕>Re: Re: Re: 글올린 다음의 메세지를 자동 갱신하려면?
정재익
2001-08-27 22:39:10
2172
3295에러메시지좀 봐주세요..특정 테이블에 대해..좀 급합니다..
강민수
2001-08-22
2132
3296┕>Re: 에러메시지좀 봐주세요..특정 테이블에 대해..좀 급합니다..
정재익
2001-08-22 20:37:56
2248
3293Out join 가능한 버젼 ?
김태오
2001-08-22
2390
3294┕>Re: PostgreSQL 7.1.x 부터 지원됩니다.
정재익
2001-08-22 16:16:41
2646
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다