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 29882 게시물 읽기
No. 29882
C, MYSQL 연결이 계속 지속 될경우 문제점...?
작성자
지종현(whdgus15)
작성일
2011-01-05 13:57ⓒ
2011-01-05 13:58ⓜ
조회수
11,622

안녕하세요.

현재 대략 1초마다 200~300개의 UDP패킷을 받아 파싱하고 파싱된 내용을 C API를 이용하여 DB(MYSQL)에 저장하는 데몬프로그램을 만들고 있습니다.

근데 매번 패킷이 들어올때마다 DB에 접근하다보니 속도가 느리고 DB의 부하가 큰 것 같아서,

처음 데몬실행시 DB에 연결을 하고 그 이후에 패킷이 들어오면 쿼리만 날리는 식으로 DB처리방식을 바꾸려고 합니다.

 

여기서 의문점이 생기는데요...

1. 이런식으로 처음 데몬실행시 DB연결이 된다면 DB연결이 일주일, 한달 가까이 지속될경우도 생길텐데 이런경우에 문제점은 없는건가요??

 

2. 다른 궁금한점은 현재는 1초마다 패킷이 들어오지만 장시간동안 패킷이 들어오지 않을경우 연결이 끊어지거나 하지 않을까요??

 

디비사랑넷에서 검색해보니 저랑 비슷한 경우( http://database.sarang.net/?inc=read&aid=7715&criteria=mysql&subcrit=&id=&limit=20&keyword=%C1%F6%BC%D3&page=4 )가 있긴한데 좀 더 확실한 내용을 알고싶어서요....

이쪽에 대해서 아시는내용이나 관련자료가 있으면 알려주시면 감사하겠습니다. (꾸벅)

 

이 글에 대한 댓글이 총 4건 있습니다.

 1. 흠 연결이 오래 유지되어서 큰 문제가 발생되지는 않습니다. 물론 해당 디비서버에 얼마나 연결이 많고 어떤 일을 하는지에 따라 조금 다르겟지만.. 저도 별일이 없으면 한달이고 두달이고 연결이 유지되어서 수행을 하는 프로그램을 돌리고 있는데 특별히 문제가 되지는 않더군요. 이런경우엔 해당 프로그램에서 메모리 누수를 더 확인해야 할듯..

 

2. 서버설정에 따라 다릅니다. MySQL 서버설정중 연결유지를 관리하는 옵션들이 몇개 있습니다. 설정값에 따라서 연결후 아무런 작업이 있지 않다면 연결을 끊어버리기도 합니다. 연결을 오랫동안 유지하고 싶다면 해당값을 조절하던가 아니면 일정시간마다 의미없는? 쿼리를 한번씩 날리기도 하죠.

team b(teamb)님이 2011-01-06 11:34에 작성한 댓글입니다.

teamb님 답변 정말 감사합니다.

MySQL 연결유지하는 옵션은 찾아보겠습니다~^^

지종현(whdgus15)님이 2011-01-06 13:43에 작성한 댓글입니다.

wait_timeout 값이 해당 시간을 제어합니다. (초 단위)

기본 값은 28800 입니다. 이 값을 수정하시면 되겠습니다.

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout

박현우(lqez)님이 2011-01-06 18:18에 작성한 댓글입니다.
이 댓글은 2011-01-06 18:19에 마지막으로 수정되었습니다.

네트워크 연결이라는 것은 

서버의 메모리나 CPU보다는 훨씬 불안정한 자원에 속합니다.

 

그래서, 계속 연결을 열어두어야 한다면,

Application에서 쿼리를 실행하고, 만약 실패했는지 체크하는 예외 핸들링 코드를 넣어서

만약 문제가 있다면, 그리고 그 문제의 원인이 Connection 관련이라면 

다시 Connection을 생성해서 재 처리해주는 작업을 반드시 넣어두셔야 합니다.

 

MySQL 서버가 불안하다는 의미가 아니고,

네트워크 연결 자체가 그렇다는 것입니다. (정말 안정적인 사내망이 아니라면 말이죠...)

 

이성욱(brew)님이 2011-01-10 01:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29885Mysqld 의 메모리가 증가 합니다. [5]
정기정
2011-01-10
13141
29884mysql도 DB 결점이 있는건가요?? 서버 잘아시는분들 답변 부탁드려요! [4]
아름이
2011-01-08
8373
29883삭제한 데이터를 복구하고 싶습니다. [3]
안혜진
2011-01-07
15740
29882C, MYSQL 연결이 계속 지속 될경우 문제점...? [4]
지종현
2011-01-05
11622
29881여러 테이블을 한꺼번에 참조하려고 합니다. 어떤 방법이 좋을까요? [1]
김갑열
2011-01-04
8532
29880python > MySQLdb.connect() > password 없이 접속 부분중 오류가 발생하였습니다. [2]
정성철
2011-01-04
8859
29879서버복구 [1]
shkim
2011-01-03
8225
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다