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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 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!

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