![]() |
503 error on every initial request to a Rails site
I keep getting a 503 error the first time I pull a page from the rails app... After that, the subsequent requests pull fine with no errors..
I'm running Litespeed Web Server Enterprise: v4.0.2 Rails version: 2.2.2 ruby-lsapi gem version: 3.4 I suspect it's something to do with timeouts, and I've tried to adjust those values, and I'm not getting different results... There is nothing in the lsws error log for that app, there's nothing in the rails logs... The main error log file shows this (nothing unusual as far as I know): 2009-05-09 13:12:35.459 [INFO] [Rails:myrailsapp.com:/] add child process pid: 11789 2009-05-09 13:12:35.459 [INFO] [Rails:myrailsapp.com:/] pid list size: 1 2009-05-09 13:12:35.468 [INFO] [Rails:myrailsapp.com:/] add child process pid: 11790 2009-05-09 13:12:35.468 [INFO] [Rails:myrailsapp.com:/] pid list size: 1 2009-05-09 13:12:35.488 [INFO] [forms.myrailsapp-RailsLSAPI] add child process pid: 11791 2009-05-09 13:12:35.488 [INFO] [myrailsapp.com-RailsLSAPI] pid list size: 1 I have this site set up as a Virtual Host, Rails is set up as an External App, LSAPI, with these settings: Max Connections: 10 Environment: RAILS_ENV=production LSAPI_CHILDREN=10 Initial Request Timeout: 30 Retry Timeout: 30 Persistent Connection: Yes Connection Keepalive Timeout: 20 Response Buffering: No Auto Start: Yes Instances: 2 Run On Start Up: Yes Under Context: Rails, configuration: Max Connections: 20 Anyone know what I'm doing wrong??? I need this app to be rock-solid, and not give any errors like this... TIA -Anthony |
since it's first request to get 503 error, can you try increasing
Initial Request Timeout: 30 also wonder if Instances: 2 can change to 1 or equal to Max Connections: 10 |
Even we've faced tons of 503 issues - but there is just no clear solution and we still face it intermittently. If it continues, we may have to leave litespeed and go to passenger/apache combo
|
a way to troubleshoot this???
Quote:
Surely there's a way to troubleshoot exactly where the 503 is coming from??? :confused: When there's an error in the Rails application, and I get a 503, I know it's the rails app because I execute: # RAILS_ENV=production script/console from the command line, and I get whatever nasty bug that pops up... Is there a way for me to get an email notification on these 503 errors, and why they occur? Or see it in some logfile? I'm not seeing them in the logs right now... |
but what does it mean??
Quote:
You have a good point, but honestly, I'm not sure if the Instances parameter would help with the initial startup... (I do have 'Auto Start: 1') So, I'm less inclined to try changing those values any more until I understand how they affect the process... Any litespeed gurus that can help shed some "light" on how these variables affect startup speed? |
???? nobody has ideas on how to troubleshoot ???
I'm a bit at a loss... I've had to resort to a cron job every 2 mins to pull a page, just to ensure it's up...
I have the max time set to -1, and Auto Start: Yes, so I shouldn't have to do this... Anyone have any clues on how to troubleshoot this 503 error??:confused::confused: |
oh, and I did increase the Timeout to 60 seconds... still got the exact same symptoms...
I timed how long it took the rails app to come up with RAILS_ENV=production script/console , and it tool about 29seconds... So 60 should be plenty!??? |
Yes, you should set "Instances" to "1".
Also try adding environment variable LSAPI_PGRP_MAX_IDLE=86400 The ruby process should be started when LSWS start and stay alive. so the slow start should be avoided. |
please download the 4.0.4 release package and give it try. It should not give 503 errors when LSWS need to start a Rails application on demand.
Just change the version number in the download link to get it. |
lsws 4.0.4 fixed it, thanks!
Quote:
|
| All times are GMT -7. The time now is 07:56 PM. |