상당히 복잡한 사이트에 대해 Linq를 SQL에 사용하고 있습니다. 라이브가 끝난 후 많은 데이터베이스 시간 초과가있었습니다. 내가 알아 차린 첫 번째 사실은 데이터베이스에 상당히 많은 수의 연결이 있다는 것입니다.Linq to SQL 연결
ADO.net의 배경에서 우리는 모든 사이트가 하나 또는 두 개의 풀링 된 연결 만 사용하도록 코드를 작성 했으므로 소수의 동시 사용자라도 만족스러운 성능을 얻을 수있었습니다.
내 질문에,이 결함이있는 오래된 방법 이었습니까, 아니면 LINQ 할 방법이 있습니까? 우리의 성능 문제는 DB에 너무 많은 연결에 의한 것 같습니다. 그러나 이것이 문제라면 LINQ에 대한 모든 자습서에서 언급 될 것이라고 생각했습니다.
제안 사항?
가비지 컬렉터가 데이터 컨텍스트를 폐기하는 일을 처리하지 않습니까? 또는 트래픽이 많은 사이트에서 너무 짧은 시간에 열리는 DataContext가 너무 많아서 가비지 수집기가 너무 늦을 수 있습니다. –
@Adrian Grigore : GC는 궁극적으로 데이터 컨텍스트를 처리하지만 데이터 컨텍스트는 열려있는 데이터베이스 연결을 유지하므로 완료되면 명시 적으로 닫아야합니다. – casperOne
나는 거기에 datacontext를 사용하여 적절히 처리하고있다. 그러나 나는 연결을 닫아야 만한다는 것을 알지 못했다. – ColinRobertson