.net 용 MySQL Connector를 사용하여 연결을 열 때 MySQL로부터 매우 긴 응답 시간 문제를 해결하려고합니다..net 용 MySQL Connector를 사용하여 MySQL 연결을 시작하는 속도가 매우 느림
--skip-name-resolve를 사용하여 Azure VM (Server 2008)에서 실행중인 MySQL 5.5를 설치했으며 데이터베이스 사용자 계정의 호스트 제한이 IP 주소를 사용하고 있습니다. Azure에서 실행되는 WCF 서비스에서 .net 용 최신 MySQL 커넥터를 사용하고 있습니다 (동일한 위치 인 미국 - 동부에서 시험 버전 구독을 사용 중이며 선호도가 설정되지 않았습니다). WCF 서비스의 내 연결 문자열은 서버 매개 변수 값으로 MySQL을 호스팅하는 VM의 내부 IP 주소를 사용합니다. 또한 "풀링 = true, 최소 풀 크기 = 2;" 그냥 (이러한 매개 변수없이 시도한 경우).
서비스가 실행 중이고 처리 요청이 꽤 좋으면 (각 쿼리 결과가 고유하고 캐시되지 않는 경우에도) 쿼리 응답 시간을 추적하면 MySQL의 성능에 문제가 없습니다. 자주 타격.
하지만 큰 문제는 내가 깰 수 없었습니다 약 3 또는 4 분간 데이터베이스에 대한 호출이 이루어지지 않은 후 MySQL 열기에 연결하는 데 걸리는 시간이입니다. 데이터베이스 호출이 몇 분 동안 수행되지 않으면 연결을 다시 열려면 8 또는 9 초 이상 걸립니다.. 나는 실제 "conn.open();을 래핑했습니다. 호출 전후에 trace 문을 사용하면 몇 분 동안 사용하지 않으면 로그 된 시간과 시간을 다시 볼 수 있습니다.
덧붙여 말하자면, MySQL Connector가 연결 풀을 관리하고 있는지 확인하기 위해 '사용'스타일의 연결 처리를 시도했습니다.
예 : 사용 (var에 CONN = 새로운 MySqlConnection (Properties.Settings.Default.someConnectionString)) {... 문 ...} 나는이 일에 막 다른 골목에 도달했습니다 같은 느낌
그래서 어떤 제안은 크게 감사 할 것입니다.
저는 엔터프라이즈 라이브러리 커뮤니티를 사용하여 MySQL Connector /를 관리합니다.Net 빠른 시간을 얻었습니다 –
Alberto 님 안녕하세요. 테스트가 더 많이 수행되었지만 응용 프로그램이 Azure에서 실행 중이고 MySQL (Azure의 VM 또는 원격 서버)에 연결되어있을 때만 속도가 느려집니다. Azure에서 SQL Server에 연결하는 것은 빠릅니다. 엔터프라이즈 라이브러리를 확인하기 전에 확인해보십시오. Azure에서 실행하고 있습니까? Azure 또는 MySQL Connector가 연결 풀을 삭제하는 것으로 보입니다. – AnthonyC