惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
博客园_首页
量子位
Jina AI
Jina AI
S
SegmentFault 最新的问题
IT之家
IT之家
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
S
Securelist
Google Online Security Blog
Google Online Security Blog
P
Privacy International News Feed
博客园 - Franky
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
C
Cisco Blogs
V
Vulnerabilities – Threatpost
腾讯CDC
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
Scott Helme
Scott Helme
B
Blog
Security Latest
Security Latest
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Schneier on Security

博客园 - zjhgx

hjdang 从jdk11升级到jdk25遇到的问题 腾讯云服务器遭受大量请求攻击导致网页打不开 capacitor的android项目接入穿山甲遇到的坑 class file for org.apache.shiro.lang.util.Nameable not found class file for org.apache.shiro.lang.util.Nameable not found 使用capacitor遇到的问题记录 shiro的cookie去掉domain后导致用户无法登陆 android真机调试遇到的问题 用java爬取京东商品页注意点 SEO 经验记录 使用goaccess统计nginx日志 nginx日志按天分割 mac 安装完Navicat Premium 提示已损坏 无法打开的处理方法 腾讯云问题汇总 vue-element-admin npm install 错误 quasar <q-page>下面<div>自动计算height的问题 Adsense遇到的问题 web项目启动时dubbo报错: No provider available for the service com.davidhu.shopguide.api.service.UserEventService from the url zookeeper ://localhost:2181/org.apache.du quasar ssr模式出现了CLS issue vue ssr里面在template不能出现this,create时this还没有
记一次流量爆发导致服务器无响应的记录
zjhgx · 2024-05-17 · via 博客园 - zjhgx

5月16日晚上7点40,发现hjdang.com的网页又打不开了。回去登陆腾讯云,发现是来自单一网页的Quark浏览器的流量大爆发,由/d/1776916731646734577带来

223.67.102.60 - - [17/May/2024:17:51:46 +0800] "GET /d/1776916731646734577 HTTP/1.1" 200 10362 "-" "Mozilla/5.0 (Linux; U; Android 12; zh-Hans-CN; WLZ-AN00 Build/HUAWEIWLZ-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.58 **Quark/**6.12.0.550 Mobile Safari/537.36" "-""-”

User Agent带有Quark的这种

微信接口不响应,网页打不开。晚上7:50回家,发现12M网络饱和,内存耗尽,占用高,TCP连接数超过15000个。看后台发现运行 yunpan-web的nodejs的内存和cpu占用都很高,重启了服务不久后还是占用很高,12M的带宽100%。

一着急,花2000大洋升级服务器到4核16G14M,但还是一样,网络打满,TCP连接数还突破了2w,nodejs的内存和cpu占用高。

想解决TCP连接数高的问题

修改了机器的句柄数:ulimit -n 1000000, 没用

看nginx日志,发现1024 worker_connections are not enough,于是修改nginx.conf配置文件中的worker_connections = 5000 (原来为1024),并重启nginx或者nginx -s reload。没用。

用下面这个命令查看哪个进程的TCP连接数最多:

netstat -anp | awk '{print $7}' |sort | uniq -c | sort -k1 -nr

发现10000多个都在hjdang-web的nodejs 下面。

后来看到网上有人在问nodejs并发下发ajax请求的延迟很高

nodejs 请求接口在高并发下耗时很大,而单个请求非常快 - CNode技术社区 (cnodejs.org)

我也测了下自己在yunpan.js的接口,发现有的延迟竟然有10000多ms,原来TCP全部都堵塞在axios的调用上了!后来查看了下面代码,才发现原因。接口调用用的地址是https://web.hjdang.com,是外网,难怪延迟这么高,赶紧改掉。马上就恢复正常了.

原来不是服务器配置不够,是代码的bug!

这泼天的流量还是没能全部接住。