programing

database.yml에서 풀 옵션의 용도는 무엇입니까?

topblog 2023. 8. 1. 20:14
반응형

database.yml에서 풀 옵션의 용도는 무엇입니까?

database.yml에서 가장 널리 사용되는 옵션은 다음과 같습니다.

adapter
encoding
database
pool
username
password
socket
host
port
timeout

저는 수영장을 제외한 위의 대부분의 용도를 알고 있습니다.그래서 저는 database.yml에 있는 pool 옵션의 용도가 무엇인지 알고 싶습니다. 또는 트래픽이 매우 많은 애플리케이션에 대해 우리가 설정해야 할 다른 매개 변수가 있습니다.

루비 프로세스당 가능한 연결 수를 설정합니다.따라서 레일 앱을 스레드화하거나 트랜잭션을 과도하게 사용하는 경우.여기서의 제한은 설정에 따라 다릅니다.고려 사항:

  • 50개의 루비 프로세스
  • 각각 100개의 실이 있는
  • 동시 연결 수가 1000개인 mysql

따라서 모든 프로세스는 한 번에 최대 20개의 연결(50 * 20 == 1000)을 열 수 있습니다.그래서 당신은 그것을 설정할 것입니다.pool값이 20 이하입니다.

이 질문에 대한 답을 찾고 있는 다른 사람들에게, 기본적인 생각은 데이터베이스가 매우 많은 동시 연결만 지원할 수 있기 때문에 열려 있는 연결을 제한하는 방법이 필요하다는 것입니다.poolattribute는 지정된 시간에 열 수 있는 최대 연결 수를 지정합니다.

자세한 내용은 http://guides.rubyonrails.org/configuring.html#database-pooling 을 참조하십시오.가이드는 풀이 앱의 총 연결 수라고 명시적으로 말하지 않지만, 그것은 제가 앱을 읽고 난 후에 알게 된 감각입니다.

pool는 연결 풀 크기의 구성으로, 기본적으로 5입니다.

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ConnectionPool.html

언급URL : https://stackoverflow.com/questions/12635152/what-is-the-use-of-the-pool-option-in-database-yml

반응형