zoukankan      html  css  js  c++  java
  • 前置系统拦截请求

    背景:由于搞活动,有瞬时流量,好多请求被前置系统拦截。由于前置系统长时间,得不到后端的响应,就认为后端处理器繁忙,然后就拦截请求,不在放行。

    根本原因:

    线程池配置:20 核心线程数,最大线数也是20,阻塞队列1万。

    解决办法:尝试调大最大线程数为100,但是还是没改变,原因,来的请求都先入阻塞队列,待到阻塞队列满了,才会创建新线程,直到100。所以,调大核心线程数,而不是最大线程数。

    线程池工作流程:

    1、初始化线程池没有线程

    2、有任务时,先判断当前线程数有没有达到核心线程数,没有达到直接创建新线程处理任务,达到核心线程数则把任务放阻塞队列中

    3、当阻塞队列满了,开始创建新的线程,但是数量不会超过最大线程数

    4、当达到最大线程数,阻塞队列也满了,新来的任务就会走饱和拒绝策略。

  • 相关阅读:
    大端小端
    浅谈协程
    boost总结之any
    boost总结之variant
    STL总结之functor
    zabbix设置多个收件人
    zabbix设置发送消息的时间
    zabbix利用微信报警
    Windos无法验证文件数组签名
    zabbix基础安装
  • 原文地址:https://www.cnblogs.com/xingrui/p/13227758.html
Copyright © 2011-2022 走看看