-- max conns에서 씬을 시작할 수 없습니다(씬/연결 로드 실패)

4693 단어 thin

묘사

thin으로 작은 예를 쓰고 싶습니다.그것은 최대 수량의 연결을 필요로 한다. (예: 10개)어떤 이유로, 내가 --max-conns 10 을 통해thin을 지정하려고 시도할 때, 그것은 붕괴될 것이다.Thin은 내 가방에서 만약 내가 thin start 테스트를 하나만 한다면 그것을 잘 시작할 수 있을 것이다.
제 가방에 살이 빠져서 #115이 아닐 수도 있어요.그러나 이 동작은 비슷해 보입니다(씬/연결 LoadError).
번들 설치 출력
user@ubuntudev: ~/workspace/test$bundle 설치
의존항 처리 중...
hitimes 1.2.4 사용
데몬 1.2.4 사용
이벤트machine 1.2.3 사용하기
httpclient 2.8.3 사용
rack 1.6.5 사용
tilt 2.0.7 사용
bundler 1.14.6 사용
타이머 사용 4.1.2
랙으로 1.5.3 보호
빼기 1.6.3 사용하기
셀룰로오스 에센스 0.20.5 사용
셀룰로오스 추가 0.20.5
셀룰로오스 fsm 0.20.5 사용하기
셀룰로오스 0.20.5 사용하기
셀룰로오스로 0.20.6 모니터링
sinatra 1.4.8 사용
셀룰로오스 0.17.3 사용하기
포장 완료!4개의 Gemfile 종속 항목에 17개의 Gem이 설치되었습니다.
"bundle show [gemname]"을 사용하여 번들gem의 설치 위치를 확인합니다.
일반적인 달리기로 가볍게 시작하다
user@ubuntudev:~/workspace/test$thin start
/home/user/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/server.rb:107: 경고:constant::Fixnum 사용 안 함
랙 어댑터 사용
씬 웹 서버(1.7.0 버전, 코드명 Dunder Mifflin)
최대 연결 수 1024
0.0.0.0: 3000 듣기, Ctrl+C 중지
^C
멈추다
행동거지--맥스 콘스 10
user@ubuntudev: ~/workspace/test$thin start-최대 연결수 10
/home/user/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/server.rb:107: 경고:constant::Fixnum 사용 안 함
랙 어댑터 사용
씬 웹 서버(1.7.0 버전, 코드명 Dunder Mifflin)
최대 접속 수 10으로 설정
0.0.0.0: 3000 듣기, Ctrl+C 중지
/home/user/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:'require'에서: 이런 파일을 불러올 수 없습니다 - 간소화/연결(LoadError)
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:구조가 필요해
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:40:in'require'
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.70/lib/thin/backends/tcp 서버.rb:16: 연결
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/backends/base.rb:63: "스타트 기어"중
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:194: "기계 운행"중
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:194:in'run'
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/backends/base.rb:73:시작
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/server.rb:162: 시작
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/controllers/controller.rb:87:시작
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/runner.rb:200: 실행 명령
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/lib/thin/runner.빨리 뛰어
/home/user/에서 옵니다.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thin-1.7.0/bin/thin:6:in`'
/home/user/에서 옵니다.rbenv/versions/2.4.1/bin/thin:22:in'load'
/home/user/에서 옵니다.rbenv/versions/2.4.1/bin/thin:22:in`'
버전 같은 거.
###환경
번들 1.14.6
Rubygems 2.6.11
Ruby 2.4.111(2017-03-22 개정판 58053) [x86 64-linux]
Git 2.5.0
플랫폼 x86 64-linux
##Gemfile
###Gemfile
출처https://rubygems.org'
보석"박"
보석 "시나트라"
보석 "셀룰로오스"
gem“httpclient”
###Gemfile.자물쇠
보석.
원격:https://rubygems.org/
사양:
셀룰로오스(0.17.3)
셀룰로오스 에센스
셀룰로오스
셀룰로오스 fsm
셀룰로오스 못
셀룰로오스 감독
타이머(>=4.1.1)
셀룰로오스 에센스(0.20.5)
타이머(>=4.1.1)
셀룰로오스 콜라보(0.20.5)
타이머(>=4.1.1)
셀룰로오스 fsm(0.20.5)
타이머(>=4.1.1)
셀룰로오스 연못(0.20.5)
타이머(>=4.1.1)
셀룰로오스 감독(0.20.6)
타이머(>=4.1.1)
데몬(1.2.4)
eventmachine(1.2.3)
hitimes(1.2.4)
httpclient(2.8.3)
랙(1.6.5)
랙 보호(1.5.3)
지지대
시나트라(1.4.8)
랙(~>1.5)
랙 보호(~>1.4)
기울기(>=1.3, <3)
여위다(1.6.3)
데몬(~>1.0,>=1.0.9)
eventmachine(~>1.0)
랙(~>1.0)
기울기(2.0.7)
타이머(4.1.2)
hitimes
플랫폼
루비
의존 관계
셀룰로오스
httpclient
시나트라
얇다
묶다
1.14.6

토론 #1

이전의 일부 채팅(어떤 문제인지 확실하지 않지만, 이 프로젝트의 어딘가에서)은 max conns가 실제로Thin이 허용하는 i/o 흐름 수량의 제한임을 증명했다.Thin은 10개가 넘는 많은 파일 설명자를 사용하여 시작할 수 있기 때문에 10으로 제한하는 것이 Thin의 시작을 막는 이유를 설명할 수 있다고 생각합니다.
나는 매우 낮은 부하의 시스템에서 32개의 제한을 시도했지만, 몇 개만 열려 있는 연결에서 간혹 실패할 수 있었다. 지금은 128개를 사용하고 있다.

토론 #2

그 이후로 나는 더 이상 시도하지 않겠다.이 일을 언급해 주셔서 감사합니다.나는 이것이 헛된 것이 아니라고 믿는다.누군가가 검색엔진을 통해 이것을 찾을 것이다. 그것은 다른 사람을 도울 것이다.
그래서, 당신이 시간을 써서 설명을 발표해 주셔서 감사합니다!그럼에도 불구하고 우리는 여전히 매우 감격한다.

좋은 웹페이지 즐겨찾기