问题标签 [c10k]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Socket.ReceiveAsync 可以前往 C10K 吗?
使用Socket.ReceiveAsync甚至Socket.SendAsync的 TCP 套接字会遇到C10K问题吗?
node.js - 缓慢的磁盘 I/O 是否会降低 Node.js 应用程序其余部分的性能?
我在一个小团队中开发一个单页应用程序,该应用程序严重依赖 WebSockets 上的低延迟查询。后端在 Node.js + Redis 上运行。它需要支持成百上千的同时连接,并且请求需要在 50 - 100 毫秒(在客户端良好的网络条件下)内得到服务。我们对服务器这部分的初始实现相当满意,它按预期执行。
我们还需要通过 HTTP 提供大量静态文件。这些请求对时间不敏感。由于存储需求很大,出于成本原因,我们希望选择 HDD 阵列而不是 SSD。
是否存在磁盘 I/O 缓慢降低 Node.js 应用程序其余部分的性能(WebSocket 部分仅使用内存数据库)的风险,还是会严格影响服务器的 HTTP / 静态文件服务部分? 据我了解,具有异步特性的 Node.js 非常适合这种情况,因为它允许 WebSockets 模块在 HTTP 模块等待磁盘读/写时正常处理查询?
也许大量“等待服务”的 HTTP 请求会以某种方式阻塞服务器(毕竟,它们需要存储在某个地方,如果读/写可用,则可能无法自由轮询),我们需要考虑使用单独的 Node.js 进程来提供静态文件,甚至完全使用单独的专用服务器?
我可以想到以下几点:
- “等待服务”的 HTTP 请求将用完有限数量的并发 TCP 连接可用
- “等待服务”的 HTTP 请求也会消耗一些 RAM
- 系统文件可能应该驻留在不会忙于为静态文件提供服务的磁盘上
我们还不能在现实世界中测试这个场景,所以我会非常感谢任何有类似经历的人的来信。这可能需要我们重新考虑架构,这是我们最好早日发现的东西。
spring-boot - 如何在 Spring Boot 中实现高并发
我需要创建一个每秒应支持 40 个并发用户的产品(我是处理并发的新手)
为此,我尝试开发了一个 hello world spring-boot 项目。IE,
弹簧靴(1.5.9)
码头 9.4.15
具有获取端点的休息控制器
下面的代码:
应用程序在 Gen10 DL360 机器上运行
然后我尝试使用 apachebench 进行基准测试
75 个并发用户:
100 个并发用户:
500 个并发用户:
1000 个并发用户:
从上面的测试运行来看,我在 75 个用户的情况下达到了每秒约 27K,但它看起来增加了用户也增加了延迟。此外,我们可以清楚地注意到连接时间正在增加。
我要求我的应用程序支持 40k 并发用户(假设所有人都使用自己单独的浏览器)并且请求应该在 250 毫秒内完成。
请帮助我
websocket - Websocket 客户端在连接数超过 7k 时收到 RST 数据包
我使用 ws(websocket) 客户端(在本地主机上运行github.com/gorilla/websocket
)对由 java Netty实现的 ws 服务器进行压力测试(在具有 2vcpu + 8Gb 内存的远程 centos 7.8 主机上运行)。只有客户端启动 tcp keepalive 机制。
当连接数超过 7k 时,客户端开始接收 RST 数据包(包括新旧连接)。
我已经验证了服务器端syn_recv queue
,并且accept queue
在测试期间处于空闲状态,没有同步数据包丢失,没有监听队列溢出。所以我需要帮助......
amazon-web-services - 如何实现与 AWS EC2 的 10K 并发连接?
我的本地 Ubuntu、AWS EC2 (8 Core) Ubuntu 和 Nginx (8 Worker) 在两台机器上运行
当我尝试与本地 Nginx 进行 10K 并发连接时,它可以工作
但是当我在 EC2 上尝试使用 Nginx 时,我收到以下错误
同时 curl 命令和与 EC2 上的 Nginx 的 4K 连接工作正常
如何使用 EC2 获得 10K 并发连接?
python-3.x - 无法在 Ubuntu 中创建百万套接字连接
我有以下 bash 函数来添加静态 IP
然后我有以下 Python3-application 来创建 1M 套接字连接
但我总是得到Too many open files in system
以下输出的异常
ulimit 值如下所示
/etc/sysctl.conf
数值如下所示
要实现 100 万个套接字连接,我还需要做哪些其他更改?