最近,我的公司得到了一些媒体的报道,因此,大量的流量已经进入我们的网站。我们是http://rayku.com的一家在线辅导公司,让我们的学生通过互动的HTML5白板获得随需助教的帮助。导师通过google通知教师,一旦导师单击通过google发送的自动消息中的链接,两个用户就会连接到白板上。
当连接到白板时,我们遇到的问题与清漆有关。不幸的是,在随机时间,导师有时无法到达白板,并收到以下错误消息:
http://grab.by/i65A
连接到服务器的错误: 503服务UnavailableError 503服务不可用 服务不可用 古鲁冥想: XID: 1564976246
清漆缓存服务器
清除我的cookie之后,这个问题就解决了(但没有缓存)。不幸的是,这个问题是很难复制的,我怀疑它与Varnish的缓存重载和没有使用适当的参数有关。
请帮我调试一下这个问题好吗?许多导师报告了这一问题,许多课程因此而被取消:)。
非常感谢!唐尼
发布于 2016-12-28 16:23:32
清漆3.0.7:这个问题有各种原因。我目前正在我的一个服务器上调查这个问题,我发现我有不止一个问题。在我的例子中,“第一次读取错误”与慢页(获取图像)的失败有关。我找到它的方式是使用varnishlog命令。
https://www.varnish-cache.org/docs/3.0/tutorial/troubleshooting.html
varnishlog -d -c -m TxStatus:503
24 SessionOpen c 127.0.0.1 39370 :6081
24 ReqStart c 127.0.0.1 39370 657793361
24 RxRequest c GET
24 RxURL c /inventory/part/MYPAGE.HTML
24 RxProtocol c HTTP/1.1
24 RxHeader c User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
24 RxHeader c Referer: https://MYWEBSITE.com/inventory/new?limit=100
24 RxHeader c Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*
24 RxHeader c Accept-Encoding: gzip, deflate
24 RxHeader c Accept-Language: en-US
24 RxHeader c Pragma: no-cache
24 RxHeader c Host: MYWEBSITE.com
24 RxHeader c Cookie: PHPSESSID=crp0881ji0qgfdqgtde10ovh72; laravel_session=eyJpdiI6ImIrRVVGRFBWdHErdk85cU9oQThqemc9PSIsInZhbHVlIjoid0g2Zk56elVybUdlVkVQb0dCdzlVVVBhMWVmVlwvZnRPOFlEOVwvQjRWOW5ITUVyNUFCMGZyRUI5aDlGSVBoWWpsR0Z3NGxZK2NjQ2Z6Q01Lam5IWVdcL3c9PSIsIm1hYyI6ImZlZ
.... .... ....在我看来,它在获取上面的URI的MYSITE.com上失败了。在这种情况下,这是预期的,因为页面有一个问题。
清漆有一些价值,以帮助减轻这个和其他问题。值得注意的是以下几点:
.connect_timeout = 1s; # Wait a maximum of 1s for backend connection (Apache, Nginx, etc...)
.first_byte_timeout = 120s; # Wait a maximum of 120s for the first byte to come from your backend
.between_bytes_timeout = 2s; # Wait a maximum of 2s between each bytes sent如果您在日志中看到“第一个字节错误”,那么可以通过设置first_byte_timeout来解决它(在许多情况下,这是可行的)。不是在我的情况下,而是在上面的情况下。我将要实验的是后端"connect_timeout“的响应超时。如果收到不健康的消息,则需要编辑清漆配置文件中的.probe设置。另一个简单的问题是端口配置错误,或者/httpcheck上的配置文件或其他任何文件实际上是不可访问的(请务必检查是否可以使用curl访问它)。
PS>我对这条帖子做出了回应,因为我注意到它没有得到足够的答复,我希望我的调查至少能对一些人有所帮助。
更多阅读:https://varnish-cache.org/tips/varnishlog/fetcherror.html
发布于 2012-12-07 22:57:39
这似乎已经解决了,多亏了在Rackspace的出色的家伙!事实证明,这是一个缓存问题,通过将Varnish定向到仅缓存图像、js和css文件,解决了我的问题。
https://stackoverflow.com/questions/13770820
复制相似问题