在小饭馆看到的 HTTP 502 错误实例

周五拉着 wincss  去蓟门里的螺蛳粉先生吃饭,期间见到了一个场景,颇像当年 5D6D 网站遭遇的 502 错误。

我和 wincss 到饭馆的时候,屋里已经没有座位了。但是既然来了也不能轻易放弃啊,于是要求店家在外面支了桌子。其实瓶颈主要在于厨房(数据库),厨房做饭太慢,外面的客户只好先排着。在客人数量(请求数量)没有超出饭馆桌椅数量( fastcgi server 的进程和 backlog 上限)的情况下,系统 load 迅速增大,但还没崩溃,此时所有的吃饭请求都挂着,处于 I/O blocked 状态。

过了一会,饭还没做好。有些人等不及就撤了,于是发生了 HTTP 504 Gateway Timeout 错误。而不断前来的客人开始怨声载道(因为他们站在饭店门口的路上,所以载道),此时就发生了 HTTP 502 Bad Gateway 错误。

502、504 错误的根本原因在于系统搭配不均衡,后端的单点瓶颈和前端负载能力过于强大的搭配是不合适的。唯一值得庆幸的是,即使厨房很慢,我们索要辣椒调料的请求还是得到了满足,类似于 fastcgi 请求无法满足的时候,静态文件请求仍能满足的情况。

This entry was posted in 默认分类 and tagged , . Bookmark the permalink.

3 Responses to 在小饭馆看到的 HTTP 502 错误实例

  1. 陈少举 says:

    Twitter观光团前来认真学习!

    Twitter@chenshaoju

  2. tifan says:

    cheungtifan@smth, @tifan 强势围观

Leave a Reply

Your email address will not be published. Required fields are marked *