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
운영게시판
최근게시물
MySQL Q&A 7715 게시물 읽기
No. 7715
Re: [질문]C API를 사용하는데, MySQL 코드가 들어가는 부분이 스레드로 계속 생성된다면?
작성자
정재익
작성일
2001-03-28 15:58
조회수
1,540

개인적으로 pthread 의 사용에 익숙치 않은지라 thread 처리시에 어떻게 무엇을 처리해 줘야 하는지는 잘 모릅니다. 이 부분은 thread 프로그래밍의 대가가 계시면 도움을 주시면 고맙겠군요. 말씀 드릴 부분은 MySQL 접속 부분입니다. 작성하시는 프로그램이 얼마만큼 빈번하게 mysql connection 을 일으키는지는 알수 없지만 디비 서버가 감당할수 없을 정도로 connection 이 빈번하게 일어 난다면 틀림없이 스레드 프로세스에서 딜레이가 생기면서 심할 경우 디비 서버 자체가 못견디는 현상이 나타날 수 있습니다.

이 부분을 해결하기 위해서는 정확한 트래픽의 추정이 필요하며, 필요할 경우 디비 락 보다는 connection pooling 이 필요할지도 모릅니다. MySQL 은 특정 테이블에 쓰기 작업을 하는 경우 raw-level table locking 을 자동으로 시도합니다. 그러므로 쓰기가 많은 경우 MySQL 의 경우 많은 CPU loading 과 latency 가 걸리게 됩니다. 이것은 읽기가 많은 작업과는 질적으로 다른 경우지요. 그리고 connection 이 많은 경우에 table locking 을 시도하게 되면 하나의 connection 작업이 안정될 것이라는 것은 보장되지만 다른 많은 connection 시도들이 실패하게 되는 경우도 발생하게 될 것입니다. 여러가지 상황을 머리에 그려 보시고 프로젝트를 진행하시기 바랍니다.

 

>>이희석 님께서 쓰시길<<

 

:: 제 프로그램은 일반 웹프로그램과는 좀 다르지만,

::

:: UDP패킷을 받아서 MySQL에 빈번히 넣고 빼는 그런 프로그램입니다.

:: 최악의 가정은 OS(또는 LAN CARD)가 패킷을 받을수 있는 동안 계속해서

:: MySQL접근을 해야 하는 것이죠..몇일이 지속될수도 있습니다.

::

:: 그때 매 패킷 마다 같은 루틴의 MySQL접근 함수를 수행하는데..

:: 이럴때 pthread_mutex_lock같은걸 써야 하는지요?

:: 실제로 돌려보면 you can't run this command now이러한 메세지가

:: 나오더군요.. 얼마 못가서 이런 메세지만 계속해서 뜹니다.

::

:: 만약 pthread_mutex_lock을 쓸려면 어떤 주의 사항이 있는지요?

:: 아님 MySQL에서 table lock을 걸어 주는 방법이 있다고 하는데

:: 이거 사용하는 방법은 어떤것인지요.. 사실 테이블 락거는건

:: 해보긴 했지만 제대로 되는 지 안되는지 확인이 불가능해서요..

::

:: 고수님들의 고견을 바랍니다.

[Top]
No.
제목
작성자
작성일
조회
7719# 서버 테스트를 하려는데 에러가...
이중기
2001-03-28
722
7722┕>Re: # 서버 테스트를 하려는데 에러가...
정재익
2001-03-28 22:56:42
824
7763 ┕># Re: Re: # 서버 테스트를 하려는데 에러가...
이중기
2001-03-29 18:31:13
813
7718별도의 mysql 서버를 사용하는 방법?
이진영
2001-03-28
811
7721┕>Re: 별도의 mysql 서버를 사용하는 방법?
정재익
2001-03-28 22:55:17
929
7717다른 서버에서의 mysql 접근..
chris
2001-03-28
736
7720┕>Re: 다른 서버에서의 mysql 접근..
정재익
2001-03-28 22:53:35
980
7714[질문]C API를 사용하는데, MySQL 코드가 들어가는 부분이 스레드로 계속 생성된다면?
이희석
2001-03-28
781
7715┕>Re: [질문]C API를 사용하는데, MySQL 코드가 들어가는 부분이 스레드로 계속 생성된다면?
정재익
2001-03-28 15:58:38
1540
7713deamon 수
senon
2001-03-28
680
7716┕>Re: deamon 수
정재익
2001-03-28 21:01:07
907
7705저기 파일 디비 넣는데 이건 -.-
얼땡이
2001-03-28
862
7707┕>Re: 저기 파일 디비 넣는데 이건 -.-
정재익
2001-03-28 18:10:38
778
7711 ┕>Re: Re: 저기 파일 디비 넣는데 이건 -.-
허정수
2001-03-28 19:17:43
766
7733  ┕>Re: Re: Re: 저기 파일 디비 넣는데 이건 -.-
얼땡이
2001-03-29 10:59:05
715
7754   ┕>Re: Re: Re: Re: 저기 파일 디비 넣는데 이건 -.-
허정수
2001-03-29 15:46:08
881
7700꼭~ 한번 두번 세번 쭈~ 욱~ 보신다음 답변도 꼬~~~ 옥~ 해줘염.
가르쳐줘
2001-03-28
675
7704┕>Re: 꼭~ 한번 두번 세번 쭈~ 욱~ 보신다음 답변도 꼬~~~ 옥~ 해줘염.
정재익
2001-03-28 17:56:01
721
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다