随笔分类 -  服务器高并发

摘要:目录什么是 Arena?为什么需要 Arena?单线程时代的问题多线程时代的挑战glibc malloc 的 Arena 实现1. Arena 数据结构2. Arena 分配策略3. Arena 数量限制jemalloc 的 Arena 改进1. 更细粒度的 Arena 管理2. Arena 分配算 阅读全文
posted @ 2025-10-19 10:06 guanyubo 阅读(132) 评论(0) 推荐(0)
摘要:目录问题描述问题根源:glibc malloc的内存管理缺陷1. 内存碎片化2. arena竞争3. gRPC特有的内存模式jemalloc的优势1. 更好的碎片管理2. 主动的内存归还3. 线程局部缓存优化解决方案对比glibc malloc的问题表现jemalloc的改进最佳实践配置1. jem 阅读全文
posted @ 2025-10-19 09:44 guanyubo 阅读(43) 评论(0) 推荐(0)
摘要:目录1. 安装 Jemalloc2. 编译时链接 Jemalloc方法一:修改 CMakeLists.txt方法二:直接使用编译器参数3. 运行时配置 Jemalloc通过环境变量配置推荐的 gRPC 服务 Jemalloc 配置4. 在代码中集成 Jemalloc 监控5. Docker 容器中的 阅读全文
posted @ 2025-10-19 09:41 guanyubo 阅读(46) 评论(0) 推荐(0)
摘要:目录UUID的核心特性UUID的版本UUID的用途示例代码(生成UUID)优缺点与其他ID方案的对比 UUID(通用唯一识别码,Universally Unique Identifier)是一种用于标识信息的128位唯一标识符标准,其目的是确保在分布式系统中无需中央协调即可生成全局唯一的ID。UUI 阅读全文
posted @ 2025-06-13 14:03 guanyubo 阅读(943) 评论(0) 推荐(0)
摘要:目录1. SO_REUSEPORT 的主要用途(1) 提高 TCP/UDP 服务的并发性能(2) 实现无缝重启(Zero-Downtime Restart)(3) 防止惊群效应(Thundering Herd Problem)(4) UDP 多进程负载均衡2. SO_REUSEPORT vs SO_ 阅读全文
posted @ 2025-05-19 16:00 guanyubo 阅读(333) 评论(0) 推荐(0)
摘要:目录1. C/S架构(客户端/服务器架构)定义特点优缺点典型应用2. B/S架构(浏览器/服务器架构)定义特点优缺点典型应用3. 核心对比4. 技术栈示例5. 混合架构趋势总结 C/S架构(Client/Server,客户端/服务器架构)和B/S架构(Browser/Server,浏览器/服务器架构 阅读全文
posted @ 2025-05-07 13:50 guanyubo 阅读(1151) 评论(0) 推荐(0)
摘要:目录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. 阅读全文
posted @ 2025-04-07 14:53 guanyubo 阅读(102) 评论(0) 推荐(0)
摘要:目录问题原因解决方案1. 增大 TCP SYN 队列和 Accept 队列2. 检查 SYN 队列是否溢出3. 优化服务器 Accept 性能4. 检查服务器资源限制5. 客户端优化总结 $ netstat -s | grep -i "listen" 6006609 times the listen 阅读全文
posted @ 2025-04-07 14:39 guanyubo 阅读(298) 评论(0) 推荐(0)
摘要:目录202503201. 使用goroutine处理连接2. 调整系统资源限制3. 使用连接池4. 优化goroutine5. 使用高效的I/O多路复用6. 监控和调试7. 负载均衡8. 使用长连接9. 优化代码10. 测试和压测202503211. 合理使用 Goroutine2. 优化 I/O 阅读全文
posted @ 2025-03-20 11:18 guanyubo 阅读(426) 评论(0) 推荐(0)