[RUBY-ON-RAILS] 에 WEBrick 반응이 매우 느립니다. 어떻게 속도를하려면?
RUBY-ON-RAILS에 WEBrick 반응이 매우 느립니다. 어떻게 속도를하려면?
나는 내 서버에서 실행하는거야하는 레일 응용 프로그램이 있습니다. 나는 원격 데스크톱으로 이동하여 응용 프로그램을로드 할 때, 서버는 간단한 HTML 페이지와 좋은에게 응답 3-4 분 정도 걸립니다. 그러나, 난 그냥 초에, 서버에 로컬 페이지 쇼 페이지를로드합니다. 내 원격 데스크톱에서 서버를 ping을 시도하고 핑은 적절한 시간에 성공을 통해 갈 수 있습니다.
이 모두는 내가 오라클의 기본 클라이언트와 SQLPLUS를 설치 한 후에 시작 것 같습니다. 나는 오라클을 의심해야 하는가? 사람이에 아무것도 비슷한 경험 했습니까?
해결법
-
==============================
1.여기에 같은 문제를 갖는 (심지어 년 후). 리눅스에서 다음을 수행해야합니다 :
여기에 같은 문제를 갖는 (심지어 년 후). 리눅스에서 다음을 수행해야합니다 :
파일 /usr/lib/ruby/1.9.1/webrick/config.rb 및 편집 그것을 찾으십시오.
줄 바꾸기
:DoNotReverseLookup => nil,
와
:DoNotReverseLookup => true,
다시 시작에 WEBrick 그것은 마법처럼 작동합니다 :)
-
==============================
2.동일한 문제가 있었다. 나를 위해,이 게시물은 해결책을 개최했다. 당신은 우분투, 정지 (또는 제거)를를 Avahi - 데몬에있는 경우. 서비스를 Avahi - 데몬 정지는 데몬을 중지합니다.
동일한 문제가 있었다. 나를 위해,이 게시물은 해결책을 개최했다. 당신은 우분투, 정지 (또는 제거)를를 Avahi - 데몬에있는 경우. 서비스를 Avahi - 데몬 정지는 데몬을 중지합니다.
에 WEBrick은 지금 매우 빠른 느낌.
문제는 레일 등대에 오래보고있다, 그러나, 루비 레일에 그 이후 GitHub에 그들의 티켓을 옮겼습니다; 종류 불행한의이 오래된 문제가 계속 지속되는 것이다.
당신이 실제로 뭔가를 Avahi - 데몬을 사용하는 경우, 네트워크에 프린터와 스캐너를 찾는 것처럼, 즉 더 이상 작동하지 않습니다, 알고 생각합니다.
-
==============================
3.그냥 같은 문제가 있었다. 그만큼
그냥 같은 문제가 있었다. 그만큼
... :DoNotReverseLookup => true, ...
너무 나를 위해 트릭을했다. 그냥 RVM에서 루비를 실행 개봉 된 경우, 여기에 갈 수있는 경로는 다음과 같습니다
~/.rvm/rubies/ruby-<version>/lib/ruby/<version>/webrick/config.rb
-
==============================
4."씬은"로컬 모두를 실행하고 Heroku가에 큰 옵션은 지금 :
"씬은"로컬 모두를 실행하고 Heroku가에 큰 옵션은 지금 :
웹 사이트 : http://code.macournoyer.com/thin/
당신은 당신의 Gemfile에 넣어 로컬로 사용할 수 있습니다 :
gem "thin"
... 그리고 번들 실행하고 얇은 시작 또는 레일의 사용하여 서버를 시작합니다.
Heroku가에 대한 업데이트
얇은 지금 Heroku가에 대한 나쁜 선택으로 간주됩니다. 자세한 내용은 여기 :
https://blog.heroku.com/archives/2013/4/3/routing_and_web_performance_on_heroku_a_faq
그들의 추천 :
-
==============================
5.나는 VPN을 통해에 WEBrick 서버에 액세스 할 때 자신을 각성 막연하게 비슷한 문제가 있었다. 요청은 아무것도 와이어에서 일어나는없는 함께, 그것의 가장 시간이 오래 걸릴 것입니다. 잡종이나 얇은 보석도 Windows에서 Ruby1.9로 근무하고 나 자신이 소스에서 물건을 컴파일에 혼란 얻고 있었다 방법이 없었기 때문에, 나는에 WEBrick을 고수 할 필요가 있었다.
나는 VPN을 통해에 WEBrick 서버에 액세스 할 때 자신을 각성 막연하게 비슷한 문제가 있었다. 요청은 아무것도 와이어에서 일어나는없는 함께, 그것의 가장 시간이 오래 걸릴 것입니다. 잡종이나 얇은 보석도 Windows에서 Ruby1.9로 근무하고 나 자신이 소스에서 물건을 컴파일에 혼란 얻고 있었다 방법이 없었기 때문에, 나는에 WEBrick을 고수 할 필요가 있었다.
수정이 true로 DoNotReverseLookup 매개 변수 설정을 설정되었으며,에 WEBrick 서버를 만들 때 :
server = HTTPServer.new {:DoNotReverseLookup => true, ...}
-
==============================
6.당신은 아파치를 사용하거나 씬을 설치할 수 있습니다. 당신의 Gemfile에 : 보석 '얇은'
당신은 아파치를 사용하거나 씬을 설치할 수 있습니다. 당신의 Gemfile에 : 보석 '얇은'
또한 당신은 레일 웹 서버 목록을 확인할 수 있습니다.
-
==============================
7.1.8.7에에 WEBrick이 작업을 수행하려고 노력했고 변화에 대한 설정을 찾을 수 없습니다. 그러나, 당신이 할 수있는 치트 사용은 조회 역하려고하는 IP 주소에 WEBrick 실행하는 서버의 호스트 파일에 추가하는 것입니다 ..
1.8.7에에 WEBrick이 작업을 수행하려고 노력했고 변화에 대한 설정을 찾을 수 없습니다. 그러나, 당신이 할 수있는 치트 사용은 조회 역하려고하는 IP 주소에 WEBrick 실행하는 서버의 호스트 파일에 추가하는 것입니다 ..
-
==============================
8.나는시나 10 초 지연이 자주 경험했다. 이 조각은 나를 위해 그것을 해결했다.
나는시나 10 초 지연이 자주 경험했다. 이 조각은 나를 위해 그것을 해결했다.
당신의 app.rb 파일의 상단이 추가
class Rack::Handler::WEBrick class << self alias_method :run_original, :run end def self.run(app, options={}) options[:DoNotReverseLookup] = true run_original(app, options) end end
참조 소스
-
==============================
9.로컬 개발 가상 머신에 DoNotReverseLookup 문제 및 추가 정보를 추가하고 싶었 : 이것은 나를 해결 도움이 오래된 질문과 답변 스레드입니다. 이 웹 페이지는 일부 나타나는이 문제로 이어질 루비 코어의 회귀 오류를 설명; 강조 광산이다; 이 모든의 롱 쇼트가 이것에 루비 코어 수정을위한 GitHub의 풀 요청이고 희망이 승인 루비의 곧 틱 릴리스에 통합 될 것입니다 :
로컬 개발 가상 머신에 DoNotReverseLookup 문제 및 추가 정보를 추가하고 싶었 : 이것은 나를 해결 도움이 오래된 질문과 답변 스레드입니다. 이 웹 페이지는 일부 나타나는이 문제로 이어질 루비 코어의 회귀 오류를 설명; 강조 광산이다; 이 모든의 롱 쇼트가 이것에 루비 코어 수정을위한 GitHub의 풀 요청이고 희망이 승인 루비의 곧 틱 릴리스에 통합 될 것입니다 :
에 WEBrick의에서 수정 회귀 버그 : DoNotReverseLookup 설정 옵션을 구현 # 731이 발견 관련 저자에서 GitHub의 풀 요청은 루비에 WEBrick 소스 코드에서 문제를 복구하는 방법을 제안하고있다
요청에 명시된 용액이 LIB로부터 /에 WEBrick / server.rb]로 변화 선 (181)이다 :
sock.do_not_reverse_lookup = config[:DoNotReverseLookup]
이에:
unless config[:DoNotReverseLookup].nil?
이 잘 간주 질문 / 대답 스레드를 통해 사람의 실수를 한단다 경우 여기를 공유 및 루비 코어에서이 문제를 해결 진행 상황에 관심이 있습니다. 희망이 풀은 병합됩니다 또는 기본 문제 BE 루비의 다음 릴리스에서 어떤 식 으로든 처리; 어쩌면 2.1.6?
-
==============================
10.이것은 매우 늦게 대답하지만 난 레일 방랑에서 실행이 매우 문제를 디버깅 오늘의 좋은 부분을 보냈다. 실제로 전혀 요청 시간을 개선하지 않았다 조회 역방향 DNS를 변경. 두 가지의 조합은 ~에서 20초 ~ 개발 모드 3 초 페이지로드를했다 :
이것은 매우 늦게 대답하지만 난 레일 방랑에서 실행이 매우 문제를 디버깅 오늘의 좋은 부분을 보냈다. 실제로 전혀 요청 시간을 개선하지 않았다 조회 역방향 DNS를 변경. 두 가지의 조합은 ~에서 20초 ~ 개발 모드 3 초 페이지로드를했다 :
잡종과에 WEBrick를 교체합니다. 나는 시험판 버전을 사용했다거나 설치하지 않을 :
sudo gem install mongrel --pre
그런 다음 dev에 내 Gemfile에 추가 :
group :test, :development do gem 'mongrel' end
다음과 같이 내 서버 시작 :
rails server mongrel -e development
즉, 컷 오프 몇 초, 5 ~ 6 초,하지만 그것은 정말 느린 아직도이었다. : 잘 Gemfile에 관한이 추가 -이 케이크 위에 장식했다
group :development do gem 'rails-dev-boost', :git => 'git://github.com/thedarkone/rails-dev-boost.git' end
-
==============================
11.루비에 1.8.x에 WEBrick에는 DoNotReverseLookup 옵션은 없습니다. 이 솔루션은 배치하는 것입니다 :
루비에 1.8.x에 WEBrick에는 DoNotReverseLookup 옵션은 없습니다. 이 솔루션은 배치하는 것입니다 :
Socket.do_not_reverse_lookup = true
스크립트의 시작 부분에 어딘가에.
출처 :에 WEBrick과 Socket.do_not_reverse_lookup : 두 사도 행전의 이야기
-
==============================
12.내 아마 드문 상황에서, 내가 내 iptables에 플러시 후 나는 사용자 정의 규칙 (단지 기본 우분투는 모두 허용)을 가지고 있지 않았기 때문에,이 부작용이 없었했다 :
내 아마 드문 상황에서, 내가 내 iptables에 플러시 후 나는 사용자 정의 규칙 (단지 기본 우분투는 모두 허용)을 가지고 있지 않았기 때문에,이 부작용이 없었했다 :
sudo iptables -F
from https://stackoverflow.com/questions/1156759/webrick-is-very-slow-to-respond-how-to-speed-it-up by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 개발에 레일 3 서버의 기본 포트를 변경하려면? (0) | 2020.02.07 |
---|---|
[RUBY-ON-RAILS] 때 하나는 "has_many을 :을 통해"사용해야 레일의 관계? (0) | 2020.02.07 |
[RUBY-ON-RAILS] 레일 + MySQL의 OSX에 : 라이브러리로드되지 : libmysqlclient.18.dylib를 (0) | 2020.02.06 |
[RUBY-ON-RAILS] 누군가가 명확하고 간단한 용어 나에게 collection_select를 설명 할 수 있습니까? (0) | 2020.02.06 |
[RUBY-ON-RAILS] 무엇 도우미 수행하고 helper_method은 무엇입니까? (0) | 2020.02.06 |