Codis 千万并发下调优

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis + Codis 千万并发下产生的问题

环境:

 8台机器 32C 256G,redis 66从在同一台机器上,dashbaord也在redis00上。codis-proxy 8C,每台机器开2proxy。万M网络,CentosOS 6.5 内核2.6.32-431.el6.x86_64

 

现象:

sprak 70台机器  codis 开启pipline,不控制pipline大小,同时调度400CPU,有大量reset报错。长链接。


排查:

 1、Redis没有报错

 2、查看qps 流量很低

 3、Codis proxy 没有报错,通过网页查看流量过山车

一时无法定位问题


解决方案:

  方案一:

      codis-proxy redis分开,分4台,cpu 30C ,每台要机器部署1codis-proxy日志级别调到warn

   此方案未解决问题,问题依然出现。

 

通过tcpdumptcpdump -i bond0 -vnn port 9100 >tcp.log

1d913f4436c4b09b92107767eb028dae0cd6d311

 

一个pipline seesion的读写buffers13M,生产速度大于消费时,各session的buffers不够用,将停止消费,服务端tcp协议将窗口不断放小直到0。长时间处于0窗口的话,tcp协议会给对端发reset。所以业务端老看到reset

 

方案二:

      调整codis_proxy 参数:session_max_bufsize=231072 每一个seesion 20M左右。

      调整spark 端写速度pipline 5000个一发,(pipline 5000 spark端一次发5000个给codiscodis处理完之后在返回给spark5000个。) spark端会调200个进程每一个进程5000:200X5000=1000000 理论会有1000000opstcp会有一些限速。最终稳定值在70多万。

fd8bc37d2ff5ce92fcd2f324d40db6df563326b8

网络情况:

33f7391bc7501d57fefba741ba35d46279718d6c

这只是in的值250MB,进出总 量在500MB左右。

 

spark端没有报错。

 

实验:spark pipline 10000万一发,峰值达到:

7fecf6f22412b360cd651e1fe57e2b35c2697cdf


是的你没有看错:700多万。


700万并发,业务端出现了问题,而且700万量太大对网络也是一个压力,因此,我们经测试200万,属于一个业务和运维都可以接受的值!

ce2894e3a9df1b30b4129946588ec5115ade1757


 

还能在提速吗?

如果窄干机机器性能:

1、调速CPU中断,CPU默认中断都在第一个CPU上,

cat /proc/interrupts >f

vim f     打开这个文件 set nowrap   让他按行排列

set nowrap

可以看到这些中断在0上最多。

 

2、调整网卡队列



目录
相关文章
|
JSON NoSQL Redis
redis-full-check校验工具
redis-full-check是阿里云Redis&MongoDB团队开源的用于校验2个redis数据是否一致的工具,通常用于redis数据迁移后正确性的校验。
25211 0
|
存储 NoSQL Redis
【360开源】Pika最佳实践
Pika是360 热门的c++开源项目,基于rocksdb开发的大容量类Redis存储,力求在完全兼容Redis协议、继承Redis便捷运维设计的前提下通过持久化存储方式解决Redis在大容量场景下主从同步代价高、恢复时间慢、单线程相对脆弱、内存成本高等问题。
2869 0
|
iOS开发 MacOS
Mac上的iTerm2和Oh My Zsh 的安装(安装过程和失败详解)
Mac上的iTerm2和Oh My Zsh 的安装(安装过程和失败详解)
|
10月前
|
Go
阿里云可观测 2024 年 11 月产品动态
阿里云可观测 2024 年 11 月产品动态。
171 97
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
很火的DeepSeek到底是什么
DeepSeek,全称杭州深度求索人工智能基础技术研究有限公司,成立于2023年。因推出开源 AI 模型 DeepSeek-R1 而引起了广泛关注。与ChatGPT相比,大幅降低了推理模型的成本。
3450 36
|
7月前
|
运维 负载均衡 数据可视化
零门槛、低成本或无成本、轻松部署您的专属DeepSeek-R1 满血版4种解决方案
宏哥在仔细阅读了所有评测报告后,发现视频演示较少,因此决定制作一个涵盖四种部署方案的视频教程及评测。视频更加直观,便于用户理解。
391 2
|
11月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
404 2
|
安全 网络安全 数据安全/隐私保护
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
|
数据挖掘
ggGenshin&Genshinpalette|SCI绘图遇上原神,不输于CNS正刊调色板
本文介绍了两个R包——`ggGenshin`和`Genshinpalette`,它们提供了基于热门游戏《原神》角色的配色方案,用于提升数据分析图表的视觉吸引力。`ggGenshin`安装后可通过角色名字调用配色,展示了一个生成条形图的例子。`Genshinpalette`则提供了更多角色的色彩选项,并在`diamonds`数据集上展示了应用。这两个包为R用户提供了现成的、具有游戏特色的调色板,可用于创建更吸引人的图表。
851 0
|
Ubuntu
UBUNTU安装gRPC
UBUNTU安装gRPC
2392 0