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

推荐订阅源

GbyAI
GbyAI
爱范儿
爱范儿
Y
Y Combinator Blog
T
Tor Project blog
V
Visual Studio Blog
U
Unit 42
B
Blog RSS Feed
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
G
Google Developers Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
博客园_首页
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
P
Proofpoint News Feed
Jina AI
Jina AI
博客园 - 【当耐特】
S
Security @ Cisco Blogs
I
Intezer
MyScale Blog
MyScale Blog
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
腾讯CDC
T
Tenable Blog
A
Arctic Wolf
T
Threat Research - Cisco Blogs
S
Securelist
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
C
Check Point Blog
NISL@THU
NISL@THU
Microsoft Security Blog
Microsoft Security Blog
V
Vulnerabilities – Threatpost

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

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