'Study/Mysql'에 해당되는 글 2건

  1. 2007.12.10 freeTDS통해서 php에서 MSSQL의 프로시져 호출시에 나는 애러
  2. 2006.12.21 mysqld got signal 11
Study/Mysql2007. 12. 10. 16:20


Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options
to be set for the connection. This ensures consistent query semantics.
Enable these options and then reissue your query

이런 애러가 난다..

<?


mssql_query("SET ANSI_NULLS ON",$con_log);
mssql_query("SET ANSI_WARNINGS ON",$con_log);
$sql="[UP_SM_MutantLog] '$date',1000";
$rs=mssql_query($sql,$con_log);

?>

이런식으로 해결하면 됨...

Posted by 영혼도둑
Study/Mysql2006. 12. 21. 11:04

우선 공유버퍼들(MyISAM의 키버퍼, InnoDB의 버퍼, 쿼리캐시의 버퍼등)은 할당된 크기에서 세션(쓰레드)이 많아지더라도 추가적인 메모리 할당이 없으므로 우선 논외로 하겠습니다.
하지만 이것들도 가용한 메모리보다 크게 잡힌다면 문제의 소지가 있습니다.

말씀하신대로 특정 순간에 메모리 사용량이 급증하고 죽게 되는 거라면 순간적으로 많은 세션이 생성되어 메모리가 부족하게 되었을 가능성이 크네요.
세션들이 사용하는 메모리들은 주로 소트관련 버퍼나 읽기관련 버퍼들이 있습니다.
임시 메모리 테이블의 버퍼도 있을수 있구요.
쓰레도 스택도 포함이 되겠네요.

우선 최대 연결 갯수를 이 버퍼들의 크기에 맞추어서 적절한 값으로 조절하셔야 할 것 같습니다.
갯수를 줄이기가 어려운 상황이라면 버퍼의 크기를 줄이셔야 하구요.

모니터링을 위한 적절한 툴은 mysql.com에서 MySQL Administrator를 다운받아서 이용하시면 될 듯 합니다.

우선 웹상에서 튜닝에 대한 기본적인 문서들을 참고하셔서 설정을 바꿔보시고 모니터링 하신 후에 다시 결과를 알려주시면 답해주실 분들이 계실듯 합니다.

위와 같은 현상이 주로 발생하는 이유는 유저가 느린 반응 때문에 여러번 요청을 날리는 경우 입니다.
근본적으로 이런 상황에 대처하지 못하는 어플리케이션이 대부분이고 이때 db서버가 계속되는 무거운(?) 요청으로 인해 무응답 상태가 되거나 메모리 부족으로 죽을때가 있습니다.
보통은 db튜닝으로 이런 상황을 개선하기는 하지만, 최소한 메모리 부족으로 재시작 되지는 않도록 조절은 하셔야 할 듯 합니다.

Posted by 영혼도둑