服务页面卡,接口长时间无响应出错

问题:我们的服务突然之间页面打开很卡,接口长时间无响应,最终返回500 internal error,还有一个错误信息提示跨域。

背景:随着Data Factory的推广,越来越多的小伙伴开始使用、接入我们的服务。

事发突然也不突然,在正式推广会前我要确保我们的功能可用,不至于当场打脸。好嘛,这时候发现页面打开有点卡,不过当时不以为然,完全没放心上。着急验证我们的各业务模块功能可用,这时候发现请求长时间无响应。

错误第一点:页面打开很卡,却未引起任何警觉。

以下是发现服务请求长时间无响应,依次想到的、做过的排查,有很多问题,也有很多疏忽。

前端控制台展示的错误信息:500 (INTERNAL SERVER ERROR)    No 'Access-Control-Allow-Origin' header is present on the requested resource

第一步:拉仓库最新master代码,本地起服务,调试看详细错误信息。

结论:本地起服务页面打开正常,接口请求都正常返回结果。所以我认定这个500的internal server error其实是不存在的,就是跨域的问题。

第二步:跨域的问题我不擅长,打算找前端搞定,仔细读了错误提示,明确说因为500 internal server error 导致,还是找前端确认了下,前端也同意确实是接口出错导致的错误。

结论:我和前端确认是由于后端服务报错导致的,跟跨域没关系。

第三步:此时我就很困惑了,明明接口都没问题,同一份代码本地起服务一切正常。为何会有这种后端服务报错?本地看不到报错,那我就去服务器上看报错吧

结论:查看服务器端log信息。

第四步:登录服务器,找到对应log文件。页面发起请求,服务器上实时看log。此时发现我们业务中有一步接口302重定向的时候有问题,这个请求一直没有返回,我们的代码中对请求返回的status_code校验是否200,如果通过才会再进行下一步。此时一直重定向这里一直无返回报错。

结论:请求长时间无响应出错了,log只有assert校验出错,并没有其他内容可看。

第五步:以为是我们请求的服务器响应慢,在请求返回前就校验失败,所以我在代码中调大了sleep的时间,可是发现请求仍然是一直没有返回,直到返回500之后,才会同一时间进来N多请求,在这些请求里我清楚的看到了302的正确返回,我开始有点怀疑,我试着把sleep时间调回去发现也是一样,就是说我们的请求一直是阻塞的,这个没处理完其他请求都处理不了,一旦出错,立马其他请求都瞬间处理起来了。

结论:发现我们的服务处理是单进程阻塞的,所以一直拿不到302重定向的返回。

第六步:此时我才想起来去看一眼我们的服务进程情况,ps一下,真的如我所猜测的就只有一个进程。我们是flask的服务,原先是单进程阻塞的,后面使用tornado并发起50个进程解决了此问题,现在为何失效了?翻了下仓库中的代码发现服务启动的进程数被改成1了。。。

此时有个问题:为什么本地起服务运行的时候302没问题?因为我本地起服务的时候,是我本地的机器发请求到我们的服务器做处理返回给我。可是在服务器上跑的时候其实是自己发请求自己处理,再返回,单进程的服务根本搞不来。

后话:因为我们的服务属于测试工具,用的人少无需考虑并发,并且我们的服务启动时开了50个进程,所以打开页面不应出现卡的情况。我在最一开始就应该有所警觉的。

我勒个去。。。虽然小伙伴是误改的,但是我陷入了思考。

权限放开是为了大家更高效,但是真的需要如此open吗?merge master由专人负责是否会更合适?

我个人觉得是有必要专人负责的,不过专人的职责在与检查代码有无改动公共模块,以及改动的有无问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,029评论 25 708
  • 最·长情的告白,是你 你说,自喜欢上我,结婚就没想过别人 我想,自承诺于你,白头就不会有他 遇·你之前,我对未来有...
    嘿嘿哈哈吼吼bom阅读 198评论 0 0
  • 不知道有多少童鞋有着和我一样的感觉,但愿自己不是一个人在这里自说自话:明明已经荒废了一个学期,按道理说,为了不挂科...
    纠缠的离骚阅读 468评论 1 9
  • 有些事,我们承担不起后果 话题源于同事装修新房。他们结婚时买的新房,由于种种原因过了好久才下来,孩子都快一岁了。同...
    圣诞快乐阅读 1,086评论 0 2
  • 113 芳树千株发,摇荡三阳时。气软来风易,枝繁度鸟迟。春至花如锦,夏近叶成帷。欲寄边城客,路远谁能持。---- ...
    郭零阅读 400评论 0 0