随笔分类 - 服务器高并发
摘要:目录什么是 Arena?为什么需要 Arena?单线程时代的问题多线程时代的挑战glibc malloc 的 Arena 实现1. Arena 数据结构2. Arena 分配策略3. Arena 数量限制jemalloc 的 Arena 改进1. 更细粒度的 Arena 管理2. Arena 分配算
阅读全文
摘要:目录问题描述问题根源:glibc malloc的内存管理缺陷1. 内存碎片化2. arena竞争3. gRPC特有的内存模式jemalloc的优势1. 更好的碎片管理2. 主动的内存归还3. 线程局部缓存优化解决方案对比glibc malloc的问题表现jemalloc的改进最佳实践配置1. jem
阅读全文
摘要:目录1. 安装 Jemalloc2. 编译时链接 Jemalloc方法一:修改 CMakeLists.txt方法二:直接使用编译器参数3. 运行时配置 Jemalloc通过环境变量配置推荐的 gRPC 服务 Jemalloc 配置4. 在代码中集成 Jemalloc 监控5. Docker 容器中的
阅读全文
摘要:目录UUID的核心特性UUID的版本UUID的用途示例代码(生成UUID)优缺点与其他ID方案的对比 UUID(通用唯一识别码,Universally Unique Identifier)是一种用于标识信息的128位唯一标识符标准,其目的是确保在分布式系统中无需中央协调即可生成全局唯一的ID。UUI
阅读全文
摘要:目录1. SO_REUSEPORT 的主要用途(1) 提高 TCP/UDP 服务的并发性能(2) 实现无缝重启(Zero-Downtime Restart)(3) 防止惊群效应(Thundering Herd Problem)(4) UDP 多进程负载均衡2. SO_REUSEPORT vs SO_
阅读全文
摘要:目录1. C/S架构(客户端/服务器架构)定义特点优缺点典型应用2. B/S架构(浏览器/服务器架构)定义特点优缺点典型应用3. 核心对比4. 技术栈示例5. 混合架构趋势总结 C/S架构(Client/Server,客户端/服务器架构)和B/S架构(Browser/Server,浏览器/服务器架构
阅读全文
摘要:目录1. 系统资源限制1.1 文件描述符(FD)1.2 进程/线程数2. 网络层优化2.1 TCP 队列2.2 端口范围2.3 连接跟踪(Conntrack)3. 服务器应用层优化3.1 Go 代码关键配置3.2 避免阻塞操作4. 客户端优化4.1 控制并发量4.2 连接复用5. 监控与排查工具5.
阅读全文
摘要:目录问题原因解决方案1. 增大 TCP SYN 队列和 Accept 队列2. 检查 SYN 队列是否溢出3. 优化服务器 Accept 性能4. 检查服务器资源限制5. 客户端优化总结 $ netstat -s | grep -i "listen" 6006609 times the listen
阅读全文
摘要:目录202503201. 使用goroutine处理连接2. 调整系统资源限制3. 使用连接池4. 优化goroutine5. 使用高效的I/O多路复用6. 监控和调试7. 负载均衡8. 使用长连接9. 优化代码10. 测试和压测202503211. 合理使用 Goroutine2. 优化 I/O
阅读全文

浙公网安备 33010602011771号