zoukankan      html  css  js  c++  java
  • linux服务器,请求堵塞,导致服务器挂掉

    此文为记录帖,如果错误,烦请指正

    前提:在Linux服务器中通过Docker部署了服务(WebAPI,使用了swaggerui可视化工具),并使用k8s管理docker容器。

    k8s每3秒访问swaggerui页面:https://xx.xxx.xxx:80/index.html,设置3秒的超时时间,连续5次访问失败,则认为该服务失效,k8s会 kill 此服务。

    问题:服务被k8s关闭了

    可能因素:

    (1)代码因素:访问过多时,等待响应太久(目前设置的100秒),连接一直没有释放,就导致阻塞后续的请求

    (2)服务器因素:在 linux系统中 一个请求对应操作系统的一个文件描述符,描述符操作系统默认的是4096个,描述符全部占用之后,就无法接收后续的请求,等待前面释放连接

    解决方案:

    (1)优化镜像,描述符增加至65535个,会在一定程度上避免这个问题,但弊端是耗费一定的服务器资源

    (2)缩短 http请求的超时时间限制(普遍设置为5-10s)

  • 相关阅读:
    mybatis的知识点总结
    orm框架与缓存的关系
    mybatis知识点
    mybatis
    MyBatis的动态SQL详解
    工资谈判技巧
    MySQL 创建函数(Function)
    开始AFNetworking
    hdu 4778 Rabbit Kingdom(减少国家)
    设计模式:代理模式
  • 原文地址:https://www.cnblogs.com/yxcn/p/14207659.html
Copyright © 2011-2022 走看看