服务接受请求过多就崩溃

2023 年 10 月 24 日
 justthewayyouare

我同一时间给服务器发送 1000 个 ajax 请求,服务器就崩了,得重启。 万一有人想搞我的网站,也同时发 1000 个 ajax 过来,那我网站不就崩了? 有没有办法让服务器接受大量请求不崩溃的办法?

5440 次点击
所在节点    程序员
27 条回复
zjsxwc
2023 年 10 月 24 日
- jvm 的加大内存。
- 改换用 php-fpm 重写。
- 改用 serverless 重新。
ltmst
2023 年 10 月 24 日
lsk569937453
2023 年 10 月 24 日
如果你的服务器并发超过 1000 的话,那就赚老鼻子钱了,招高级程序员给你打工吧。
seers
2023 年 10 月 24 日
上消息队列
opengps
2023 年 10 月 24 日
1000 并发(并发一般是指 1 秒内的并发请求数量)是非常优秀的业务指标了。
这个时候你需要的是多机器多站点的去做负载均衡做集群架构部署,而不是拼了命的提高单机性能。道理就好比你的 cpu 主频这么多年也就是个 GHz 了,于其提高单个性能不如再来一个 cpu 满足需要
sdjl
2023 年 10 月 24 日
那我网站不就崩了? 是的,就崩了。

有没有办法让服务器接受大量请求不崩溃的办法? 对方要搞你,主要是搞钱(例如搞你的 CDN 流量费),不是搞崩。通常情况下,怕搞钱不怕搞崩。

说回楼主的问题,如何提高并发能力。

1 、静态资源都走 CDN 。
2 、能缓存等请求尽量缓存,特别是重复的数据库查询。
3 、开多进程守护,例如 8 个、80 个、200 个等等。
4 、进程之间记得共享缓存数据,节约内存和时间。
5 、做好并发写攻击的防御(特别是涉及到金钱的程序)。
6 、该崩就崩,人都是要死的,何况程序,别怕。
sdjl
2023 年 10 月 24 日
2 、能缓存请求就尽量缓存,特别是重复的数据库查询。
blackeeper
2023 年 10 月 24 日
想让服务器不蹦?那么你可以选择换
1 ,更好的 CPU 、
2 ,更大的内存条
3 ,速度更快的硬盘 SSD
4 ,网口,以及超大带宽
5 ,换操作系统
6 ,.......
还有一堆可以升级的地方,都是可以避免崩溃的地方,关键在于你业务服务器的瓶颈在哪儿
sdjl
2023 年 10 月 24 日
“服务器就崩了,得重启” 这里可能是因为你的进程有异常,没有 catch 住,然后进程死掉了。

建议从最外围运行的地方 catch 异常,如发现未知异常就 catch 住,然后重启进程或线程,确保异常不会导致进程变“死进程”。
dode
2023 年 10 月 24 日
限制连接数量和请求速度
sumarker
2023 年 10 月 24 日
加机器 做负载
dif
2023 年 10 月 24 日
个人网站,崩就崩了。别误伤账单就行。
另外,合理利用缓存,尽量使用静态化解决。
nuyan
2023 年 10 月 24 日
想搞你,无非你能做的就是技术+金钱。最简单的就是花钱往死往死加机器。
BinaryDH
2023 年 10 月 24 日
真正的解决办法是,限流熔断
newaccount
2023 年 10 月 24 日
个人网站 1000 并发……
公司网站 tomcat 做到 20 并发能不崩我就不继续测了,通过负载均衡拉到七八十应付爬虫就足够足够的
realJamespond
2023 年 10 月 24 日
把带宽调低,物理限速
rb6221
2023 年 10 月 24 日
理论上是这样,可是同时发 1000 个请求也是要很高成本的,换句话说如果你的项目不是企业级项目,没有商业价值,那就不会有哪个黑客来花大价钱攻击你,因为他得不到什么东西。
当然如果你只是单纯想提高一下安全性和性能的话,楼上很多做法都可以来一遍,各个环节能提升的地方都可以提升,就看你愿不愿意花钱了
IDAEngine
2023 年 10 月 24 日
开 API 网关,把高价值客户调度到高性能服务器,低价值客户调度到易受攻击的节点
jioswu
2023 年 10 月 24 日
换语言是成本最低的,前提是自己会,否则加机器上负载均衡
pkoukk
2023 年 10 月 24 日
你这其实是两个问题
1 、怎么防止被打
2 、怎么提高服务性能
方案太多了,一切以你的预算为前提

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/984724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX