I have a Wordpress site there is suddenly getting extremely slow - special on mobile devices. I am often getting this error:
Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Additionally, a 503 Service Unavailable error was encountered while trying to use an ErrorDocument to handle the request.
I checked in my server log and can there is a huge amount of 503 errors:
As I understand Wordpress, then everytime you upload a picture there is generated different screensizes. I was looking on my ftp server, and can see each picture is generated with the below sizes:
Kajak-i-Norge.jpg
Kajak-i-Norge-60x40.jpg
Kajak-i-Norge-60x40#2x.jpg
Kajak-i-Norge-100x100.jpg
Kajak-i-Norge-120x80.jpg
Kajak-i-Norge-150x150.jpg
Kajak-i-Norge-300x200.jpg
Kajak-i-Norge-300x300.jpg
Kajak-i-Norge-394x263.jpg
Kajak-i-Norge-394x303.jpg
Kajak-i-Norge-394x394.jpg
Kajak-i-Norge-394x400.jpg
Kajak-i-Norge-600x400.jpg
Those 503 errors does that mean the picture is not found on the server?
There are 3 reasons i think are producing this problem
1 - Something wrong with hosting , especially if your it is shared
2 - Someone trying to do a denial of service
3 - You have a lot of viewers in your server that the server is starting to get gradually slower
The 503 error means that the server can't serve up the image, not that it's not found on the server. 404 errors are not found. The fact that you're seeing both of these errors on your images is most likely the result of server resources being overloaded (as other answers have mentioned)...either capacity or bandwidth. If you're on shared hosting, this can happen often. Your site loaded fine for me just now, but of course, that can change the second your server gets bogged down.
A free cloudflare account is a good recommendation from Dan Web above...it will at least rule out the chance it's spam bots hogging up your resources.
Intermittent issues like this are almost always shared hosting problems. Your host will also rarely accept responsibility for the issues, and you're let with having to decide to move your site to a different hosting solution.
Related
Scenario: You are going to do scheduled database maintenance. You will hence be unable to serve dynamic content (just assume the caching system in front of the database also needs to be maintained).
During that time, what's the correct way of handling web requests trying to access a dynamic resource?
What's the correct HTTP error code, if any, that goes along with the notice that your service is currently not available? Should you use errors in the 5XX range?
What are the implications in terms of SEO? Will it hurt if search engine crawlers try to access your site and see lots of error codes or pages with the same notice instead of dynamic content? Can you easily recover from that?
503 Service Unavailable is the correct response to use in this situation.
Depending on how your site works, you could just put up a static HTML page replacing everything saying that the site is undergoing maintenance.
I deployed a webapp to WildFly 8.0.0 on OpenShift. The application currently has very few users, but works fine. I use a free OpenShift account (I don't know if it is relevant) with a single cartidge, for WildFly.
Sometimes, when I access the application I get 503 (sometimes) or 404 (most of the times) errors.
It seems that I get these errors if the application has not been used for some time (something like 2 or 3 days). For about a minute, if I reload the page I get the same error. But after about a minute, I do not get the errors any more, instead the application is correctly available.
It looks like OpenShift "disables" webapps if they have not been used for some time, then "re-enables" them as required (but displays 503 or 404 during the "re-enabling" of the webapps).
=> Is this a bug? Is this a well-known issue of OpenShift?
=> How can I prevent my webapp from being unavailable?
Regards
As diw stated, gear idling is part of the free plan and with the announcement of the bronze plan, you probably won't have to worry about that anymore.
However, if you want to stay on the free plan and if your application needs regular visits so you don't get those errors, you could setup a monitoring service (for example http://pingdom.com or http://uptimerobot.com) to check hourly and thus avoid having your gear idled. I found this out by accident when I moved a small personal site over to OpenShift and it never was idled due to the monitoring service hitting it.
On the free plan, OpenShift will idle any gears that have not received an external HTTP request or git push in 2 days, as per this FAQ.
If you are only using the 3 free gears, you can upgrade to the Bronze plan, which does not have any gear idling, and will not have any additional charges.
I am getting this error about 20% of the time. I've dumped and compared traffic on successful and failed requests and there is no noticeable difference:
There's nothing in the AppEngine logs or dashboard, and also no way to catch exceptions on requests that hit "/_ah" URLs. I've attached a script that tries the login every 5 minutes, as well as the traffic dumps for successful and failed requests.
I would really appreciate it if someone from Google could take a look at this. The error definitely occurs deep in the bowls of the AppEngine OpenID implementation and there is no way for an outsider to see such errors.
Thanks,
Graeme
https://dl.dropboxusercontent.com/u/6618078/AppEngine%20OpenID%20error/error.dump
https://dl.dropboxusercontent.com/u/6618078/AppEngine%20OpenID%20error/success.dump
https://dl.dropboxusercontent.com/u/6618078/AppEngine%20OpenID%20error/test.sh
It could be related to this bug that is only 3.5 years old and not fixed as they don't consider it a "production issue".
https://code.google.com/p/googleappengine/issues/detail?id=3589
The bug is about non-gmail accounts but I have the same server error with gmail accounts (started today for me, 01/12/2014).
No error acknowledged here https://code.google.com/status/appengine.
I have a fairly big application which went over a major overhaul.
The newer version uses lot of JSONP calls and I notice 500 server errors. Nothing is logged in the logs section to determine the error cause. It happens on JS, png and even jersey (servlets) too.
Searching SO and groups suggested that these errors are common during deployment. But it happens even after hours after deployment.
BTW, the application has become slightly bigger and it even causes deadline exception while starting few instances in few rare cases. Sometimes, it starts & serves within 6-10secs. Sometimes it goes to more than 75secs thereby causing a timeout for the similar request. I see the same behavior for warmup requests too. Nothing custom is loaded during app warmup.
I feel like you should be seeing the errors in your logs. Are you exceeding quotas or having deadline errors? Perhaps you have an error in your error handler like your file cannot be found, or the path to the error handler overlaps with another static file route?
To troubleshoot, I would implement custom error pages so you could determine the actual error code. I'm assuming Python since you never specified what language you are using. Add the following to your app.yaml and create static html pages that will give the recipient some idea of what's going on and then report back with your findings:
error_handlers:
- file: default_error.html
- error_code: over_quota
file: over_quota.html
- error_code: dos_api_denial
file: dos_api_denial.html
- error_code: timeout
file: timeout.html
If you already have custom error handlers, can you provide some of your app.yaml so we can help you?
Some 500s are not logged in your application logs. They are failures at the front-end of GAE. If, for some reason, you have a spike in requests and new instances of your application cannot be started fast enough to serve those requests, your client may see 500s even though those 500s do not appear in your application's logs. GAE team is working to provide visibility into those front-end logs.
I just saw this myself... I was researching some logs of visitors who only loaded half of the graphics files on a page. I tried clicking on the same link on a blog that they did to get to our site. In my case, I saw a 500 error in the chrome browser developer console for a js file. Yet when I looked at the GAE logs it said it served the file correctly with a 200 status. That js file loads other images which were not. In my case, it was an https request.
It is really important for us to know our customer experience (obviously). I wanted to let you know that this problem is still occurring. Just having it show up in the logs would be great, even attach a warm-up error to it or something so we know it is an unavoidable artefact of a complex server system (totally understandable). I just need to know if I should be adding instances or something else. This error did not wait for 60 seconds, maybe 5 to 10 seconds. It is like the round trip for SSL handshaking failed in the middle but the logs showed it as success.
So can I increase any timeout for the handshake or is that done on the browser side?
I have a client who installed our silverlight app recently. it works fine from their server itself. but when they try to run it from a client, they can log in through the aspx login page, but on the main page, which hosts the tag and the .xap file, they see absolutely nothing!
I cannot see their screens, just get occasional screenshots via email and cross my fingers that they are typing the URL I tell them to. Even Shareview is not working for them - they can see my screen but I cannot see theirs.
So I am pleading - help! Please throw out some wacky ideas. I just learned an hour or so ago that they did not even have silverlight installed, so the mornings debugging effort was a waste of time. So who knows what the next fascinating source of problems is?
Here is the user-agent info. Oor app is .net 4.0 could that be the problem? It does noty look to my untrained eye that the client supports 4.0 (from the web server log):
Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 401 3 5 0
Getting closer - I see that the GET request for the XAP is returning 401 - not found! What would do that?
It's very possible that they are blocking XAP files either directly or indirectly at the firewall. XAP files are simply ZIP files and inspection-based firewalls tend to look at these as a security risk. You may want to see if they can setup an exception in their rules.
Hmm..
1) check if your client access the good url. Request their IP address, then check the web server logs. ie: are they requesting the good url, are they downloading the xap? (check if they use a proxy, too?)
2) check that they restarted their browser after installing the Silverlight runtime.
3) Do you handle the UnhandledException event for your Application class? If no, use it to send detailed exception logs to your server on application crash.
4) Use javascriptto initialize your Silverlight application. This way, you can be notified if the runtime fail to start, (for example if it failed to load the xap file) You can use ajax to report the issue to the webserver.