일반적 here매번 새로운 연결을 열 때보 다 많은 개방 된 연결의 연결 풀이 시스템에 비해 비용이 적게 드는 이유는 무엇입니까?
의 답변은 데이터베이스 연결을 여는 연결 나중에 요청 활성들 중 하나 일 때 우선적으로 사용하고, 그래야 풀링 연결 활성 유지 비용이 많이 드는 작업이다 ~ 다른 하나를 여는 중입니다.
DB 관리에서 Connection Pool
의 개념을 이해합니다. 그 대답은 "~"입니다. 모든 개발자 블로그 게시물, 답변, 자습서, DB 문서는 항상 "무엇입니까"질문에 대한 답변. 마찬가지로 그들은 서로간에 텍스트를 복사/붙여 넣기합니다. 아무도 "왜 그런가?" "및"how "을 설명하려고 시도하지 않습니다. 위의 대답은 그 예입니다.
나는 이해할 수 없다 이유 및 방법가 풀에, 말하자면, 30 개 연 연결을 유지하기가 필요한 경우 새 연결을 열 것보다 시스템에 대한 비용이 덜 드는 것으로 가능하다.
웹 서버가 호주에 있다고 가정합니다. 오레곤 어딘가의 미국에있는 AWS의 DB입니다. 또는 GB. 또는 AUS와는 아주 멀리 떨어져 있지만. 그래서 모든 사람들은 20 -... 열어 놓은 연결을 유지하는 것이 매번 새로운 연결을 열 때보 다 메모리와 시스템 성능에 덜 비쌀 것이라고 말합니다. 그것이 어떻게 될 수 있는가? 왜?
연결을 설정하려면 끝점, 메모리 할당 등 사이의 통신 (생각해 내기)이 필요합니다. 또한 DB 상호 작용을 수행하기 위해 루프를 수행하는 경우 동일한 활성 연결을 다시 사용하는 것이 훨씬 낫습니다. 루프 내에서 열고 닫음; 하나의 연결을 만들기위한 작은 차이가있을지라도 루프 내에서 증가합니다. –
그린, 그게 무슨 가치가 있는지, 나는이 질문을 묻는 답변에 추가 정보를 추가했습니다 : http://stackoverflow.com/questions/4041114/what-is-database-pooling/4041136#4041136을 참조하십시오. 그러나 Mitch와 Maria는 기본적으로 옳았습니다. 연결을 설정하는 것은 즉각적인 과정이 아닙니다. – paxdiablo