电脑知识
csrss是什么进程(强制结束csrss进程)
2023-04-15 00:41

网络抓包除了用pfring、netmap、dpdk这些旁路内核的方式外,现在的af-packet的性能也是很好的,要在内核版本3.4以后,通过设置PACKET_FANOUT_HASH,可以让多个线程直接从RSS的多个队列中抓包,配合cpu隔离和绑定,10Gbps也是可以支持的(当然cpu和内存也要够的情况下)

判断内核是否支持PACKET_FANOUT_HASH有个开源的项目可以看看:

开源地址: https://github.com/JustinAzoff/can-i-use-afpacket-fanout

存在一个相关的功能 ,以便您可以同时从 N 个进程或线程中捕获,并且每个线程将看到 1/N 的流量。对于执行流重组的有状态应用程序,需要根据其 5 元组对数据包进行哈希处理,而不是简单的轮循机制分发。为了使问题进一步复杂化,哈希函数需要对称,以便从主机 A 到主机 B 的数据包被散列到与从主机 B 到主机 A 的数据包相同的进程。此功能称为PACKET_FANOUT_HASHfanout groups

不幸的是,某些版本的Linux内核被破坏了,没有正确实现对称哈希。此问题已得到修复,但有缺陷的代码进入了各种发行版内核。

#程序员#

#抓包#

#网络流量#

偶然收到某客户问题“我的 Redis 内存碎片率很低在 0.2 左右,网上说会导致 Redis 性能变慢,我该咋办?”。

官方的计算 Redis 内存碎片率的公式如下:

mem_fragmentation_ratio = used_memory_rss / used_memory

即 Redis 向操作系统中申请的内存 与 分配器分配的内存总量 的比值,两者简单来讲:

前者是我们通过 top 命令看到的 redis 进程 RES 内存占用总量

后者由 Redis 内存分配器(如 jemalloc)分配,包括自身内存、缓冲区、数据对象等

两者的比值结果 < 1 表示碎片率低, > 1 为高, 碎片率高的问题百度上海量文章有介绍,不多赘述,但碎片率低基本都归咎于使用了 SWAP 而导致 Redis 因访问磁盘而性能变慢。但,真的是这样吗?更多内容,请关注爱可生云数据库主页。网上说会导致 Redis 性能变慢,我该咋办-爱可生

发表评论
0评