- 博客(212)
- 资源 (1)
- 收藏
- 关注
原创 kafka 生产和消费 性能测试工具 kafka-producer-perf-test.sh kafka-consumer-perf-test.sh
是 Kafka 提供的官方生产者性能测试工具,用于评估向 Kafka 主题发送消息的性能表现。它可以帮助你测试生产者吞吐量、延迟等关键指标,优化生产者配置或评估集群写入能力。是 Kafka 提供的一个性能测试工具,用于评估消费者的性能表现。它可以帮助你测试消费者从 Kafka 主题读取消息的吞吐量、延迟等关键指标。
2025-07-21 17:53:23
310
原创 kafka 生产消息和消费消息 kafka-console-producer.sh kafka-console-consumer.sh
是 Kafka 提供的一个命令行工具,用于向 Kafka 主题发送消息(即生产消息)。它允许你在终端中手动输入消息,或从文件、其他命令的输出中读取消息并发送到 Kafka。以下是使用 的基本命令格式:常用参数说明: 指定 Kafka broker 的地址(例如 ),用于建立初始连接。: 指定要发送消息的主题名称。: 设置额外的生产者配置,例如:: 启用键值对模式(需要配合 使用)。: 指定键和值之间的分隔符(默认为制表符 )。: 指定生产者配置文件的路径。 用于控制生产者发送消
2025-07-21 16:44:02
421
原创 kafka 3.7脚本工具最全整理汇总【建议收藏】
Kafka 脚本工具是 Apache Kafka 提供的一系列命令行工具,用于管理、监控和操作 Kafka 集群。这些工具位于 Kafka 安装目录的 bin 目录下(Windows 系统为 .bat 文件,Linux/Mac 为 .sh 文件)。以下是一些核心脚本工具的详细介绍kafka-broker-api-versions.sh 是 Kafka 自带的一个重要脚本工具,用于查询 Kafka Broker 支持的 API 版本信息。
2025-07-18 15:40:32
1186
原创 kafka 单机部署指南(KRaft 版本)
Kafka KRaft 版本(即 Kafka 3.0 及更高版本)使用 KRaft 模式(Kafka Raft 协议)替代 ZooKeeper 进行集群管理,简化了部署流程。Kafka 是用 Scala 和 Java 开发的,因此需要特定版本的 Scala 编译。版本号中的 2.13 表示该 Kafka 版本是用 Scala 2.13.x 编译的。不覆盖修改,则启动的JVM参数采用bin/kafka-server-start.sh 默认。这里展示了历史的kafka各个版本。前台启动(方便调试)
2025-07-18 12:36:15
722
原创 Kafka 控制器(Controller)详解:架构、原理与实战
右图为 kraft 模式架构(实验性),不再依赖 zookeeper 集群,而是用三台 controller 节点代替 zookeeper,元数据保存在 controller 中,由 controller 直接进行 Kafka 集群管理。本文将深入解析控制器的工作原理、配置要点及运维实践,帮助你全面掌握这一关键组件。左图为 Kafka 架构,元数据在 zookeeper 中,运行时动态选举 controller,由 controller 进行 Kafka 集群管理。
2025-07-17 15:15:08
1047
2
原创 Kafka 配置参数详解:ZooKeeper 模式与 KRaft 模式对比
ZooKeeper 模式是 Kafka 传统架构,依赖 ZooKeeper 集群管理元数据(如 Topic 信息、分区副本分配、broker 存活状态等)。broker 启动时向 ZooKeeper 注册自身信息;broker 通过 ZooKeeper 监听集群变化(如其他 broker 加入/退出);控制器(Controller)节点从 ZooKeeper 获取元数据并同步给其他 broker。
2025-07-17 13:04:20
703
原创 nerdctl - 兼容 Docker 语法 的 containerd 命令行界面
Nerdctl 是一个专为 containerd 环境设计的容器运行时工具,它与 Docker 语法兼容,提供了类似的命令行接口,但专注于更高效的容器管理。nerdctl 是 containerd 的一个非核心子项目。
2025-07-16 14:12:51
598
原创 深入理解 Kafka 核心:主题、分区与副本的协同机制
Kafka 的 ** 主题(Topic)、分区(Partition)和副本(Replica)** 是构建分布式消息系统的核心概念,三者协同工作实现高吞吐量、水平扩展和数据冗余。以下从定义、关系、工作机制和配置等方面进行详解
2025-07-16 13:02:08
1152
原创 【监控实战】Grafana自动登录如何实现
原理是在Nginx 自动添加 Authorization Header 携带认证密码。代理grafana, 自动登录 test 只读用户。
2025-07-15 11:29:29
296
原创 第十五节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - vue前端 生产部署
本节进入部署环节,一般我们的项目分三部分,包括面向普通用户的首页客户端,这里是PC客户端,也可以是小程序,APP等。PC 管理后台前端Python 后端程序下图是我们的部署效果项目访问备注首页前端vue3 pc 端 自建代码管理前端/adminpython 后端/apiflask 程序。
2025-07-14 22:25:26
876
原创 【网络】Linux 内核优化实战 - net.netfilter.nf_conntrack_tcp_timeout_established
参数作用:控制已建立 TCP 连接在 conntrack 表中的最大空闲时间。调优原则根据应用特性设置合理超时(通常 30 分钟到 8 小时)确保与应用层超时参数匹配高并发场景下优先缩短超时以释放资源监控建议:# 查看当前 ESTABLISHED 连接数量conntrack -L -s <源IP> | grep ESTABLISHED | wc -l# 监控 conntrack 内存使用合理配置是优化网络性能和资源利用率的重要步骤。
2025-07-11 13:14:01
754
原创 【网络】Linux 内核优化实战 - net.netfilter.nf_conntrack_buckets
参数作用:控制连接跟踪哈希表的大小,影响查找效率和内存使用。调优原则保持buckets与的合理比例(1:4 到 1:2)高并发场景下增加比例以提升性能通过监控哈希表负载监控重点:关注哈希表的负载因子和冲突次数,避免性能瓶颈。合理配置是优化高并发网络环境的重要步骤。
2025-07-11 13:10:02
418
原创 【网络】Linux 内核优化实战 - net.netfilter.nf_conntrack_max
参数作用:控制连接跟踪表的最大条目数,直接影响防火墙和 NAT 的并发处理能力。调优原则根据并发连接数和内存容量合理设置保持使用率 < 80%,避免表满导致丢包结合超时参数优化内存使用监控重点:通过实时监控使用率。合理配置是保障高并发网络环境稳定运行的关键步骤。
2025-07-11 13:06:45
595
原创 【网络】Linux 内核优化实战 - net.core.default_qdisc
默认选择:推荐使用fq_codel,它能自动优化大多数网络场景的延迟和公平性。特殊需求:根据具体网络环境(如企业限速、多队列网卡)选择其他 qdisc。监控优化:定期检查网络性能,必要时调整配置。
2025-07-11 12:52:55
414
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_congestion_control
首选 BBR:在大多数场景下,BBR 提供最佳的延迟和吞吐量平衡DCTCP 专用:仅在数据中心内部且网络设备支持 ECN 时使用传统网络:若 BBR 不适用,默认 Cubic 是安全选择合理配置拥塞控制算法可显著提升网络性能,建议根据实际网络环境进行测试和选择。
2025-07-11 12:50:10
1044
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_intvl
可以在快速发现失效连接和减少系统开销之间取得平衡,尤其适合需要长时间维持大量连接的服务器应用(如 Web 服务器、数据库连接池)。TCP Keep-Alive 是一种检测长时间空闲连接是否仍然有效的机制。当连接处于空闲状态超过。是 Linux 内核中的一个 TCP 参数,用于控制。,但在不同场景下可能需要调整。总探测时间 = 3×15 =总探测时间 = 5×60 =,适合快速发现失效连接。,平衡开销与检测速度。
2025-07-10 12:56:52
838
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_probes
可以在快速发现失效连接和避免误判之间取得平衡,尤其适合需要长时间维持大量连接的服务器应用(如 Web 服务器、数据库连接池)。TCP Keep-Alive 是一种检测长时间空闲连接是否仍然有效的机制。如果连续发送这么多次探测包后仍未收到响应,内核会认为连接已断开,并关闭该连接。是 Linux 内核中的一个 TCP 参数,用于控制。总超时时间 = 1800 + (5×60) =总超时时间 = 300 + (3×15) =(默认 2 小时)后,TCP 会每隔。(默认 75 秒)发送一个保活探测包。
2025-07-10 12:54:17
584
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_time
TCP Keep-Alive 是一种检测长时间空闲连接是否仍然有效的机制。当连接处于空闲状态(双方没有数据传输)超过。
2025-07-10 12:50:06
442
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_fin_timeout
如果在此时间内未收到被动关闭方的 FIN 包,连接将被强制关闭,释放系统资源。,可以平衡系统资源利用率和连接稳定性,尤其在处理海量连接的服务器上效果显著。是 Linux 内核中的一个 TCP 参数,用于控制。是主动关闭方在等待被动关闭方关闭连接的中间状态。,但在某些场景下可能需要调整。
2025-07-10 12:38:00
621
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_max_orphans
在 TCP 通信中,“孤立连接”指的是已关闭或即将关闭,但仍占用系统资源的连接。半关闭连接:一方调用close()关闭写端,但仍可接收数据(如 HTTP 长连接的 keep-alive 状态)。等待超时的连接:处于TIME_WAITFIN_WAIT_1FIN_WAIT_2等状态的连接,等待超时后才能完全释放。应用程序异常退出:未正确关闭的连接(如进程崩溃)。
2025-07-10 12:33:17
464
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_moderate_rcvbuf
在 TCP 通信中,接收缓冲区用于临时存储从网络接收的数据,直到应用程序读取。如果过大,则可能浪费系统内存资源。是 Linux 内核中的一个 TCP 参数,用于控制接收缓冲区(Receive Buffer)的自动调整策略。这种机制特别适合处理大量并发连接的服务器(如 Web 服务器、负载均衡器),可以避免为每个连接预分配大量内存。当启用时,系统会根据连接的实际需求动态调整接收缓冲区大小,以平衡性能和内存使用。该参数是布尔值(0 或 1),默认值通常为。建议根据实际负载和内存资源进行测试后调整。
2025-07-10 12:28:27
776
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_no_metrics_save
默认启用缓存(0):适合大多数场景,尤其是稳定网络中的短连接应用,可显著减少连接建立延迟;禁用缓存(1):适合网络变化频繁或安全性要求高的场景,确保连接初始化的保守性。实际部署时,需根据业务特性和网络环境权衡选择。例如,面向用户的Web服务通常保持默认,而移动客户端可考虑禁用缓存。
2025-07-09 12:49:51
778
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_slow_start_after_idle
是平衡TCP连接稳定性与恢复速度默认启用(1):适合大多数网络环境,尤其是不稳定网络,可避免拥塞;禁用(0):适合稳定网络或对延迟敏感的应用,可减少空闲后的恢复时间。在实际部署中,需根据网络特性和应用需求权衡选择。例如,数据中心内部可禁用,而面向公共网络的服务建议保持默认。
2025-07-09 12:45:18
900
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_dsack
是优化TCP拥塞控制的重要参数,默认启用(值为1)。通过让接收方明确告知发送方“哪些数据包已重复接收”,DSACK能帮助发送方区分真丢包和乱序,避免不必要的重传和拥塞窗口收缩,提升网络传输效率。在绝大多数情况下,保持默认启用(1)是最优选择;仅在极特殊的兼容或调试场景下,才考虑临时禁用(0)。
2025-07-09 12:39:01
993
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_fack
是优化TCP拥塞控制的重要参数,默认启用(值为1)。通过结合SACK信息,FACK能更精确地识别丢包范围,优化重传策略,提升高丢包或高延迟网络中的传输效率。在绝大多数情况下,保持默认启用(1)是最优选择;仅在极特殊的兼容或调试场景下,才考虑临时禁用(0)。
2025-07-09 12:36:32
814
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_sack
是控制TCP SACK功能的核心参数,默认启用(值为1)。SACK通过让接收方明确告知发送方“已接收的非连续数据块”,避免了传统TCP的“盲目重传”,显著提升了丢包场景下的传输效率。在绝大多数情况下,保持默认启用(1)是最优选择;仅在极特殊的兼容或调试场景下,才考虑临时禁用(0)。
2025-07-09 12:32:11
831
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_ecn_fallback
是ECN功能的“兼容性保障开关”,默认启用(值为1)。它确保当ECN因网络环境不支持而失效时,TCP连接能自动降级为传统模式,避免连接中断。在大多数场景下,建议保持默认值1;仅在确认网络中所有设备均支持ECN时,可考虑设为0(但实际意义不大,反而可能降低兼容性)。
2025-07-09 12:27:36
602
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_ecn
是控制TCP协议是否使用ECN机制的关键参数,通过合理设置(如在兼容网络中设为1),可优化拥塞处理、降低延迟;若遇到兼容性问题,禁用(设为0)即可恢复传统的丢包拥塞控制方式。实际使用中需结合网络环境测试,选择最适合的配置。
2025-07-09 12:24:22
434
原创 【网络】Linux 内核优化实战 - net.ipv4.ip_forward
简单来说,它决定了Linux主机是否能像路由器一样,将接收到的数据包从一个网络接口转发到另一个网络接口。,可以灵活配置Linux主机的网络角色,从单纯的终端设备转变为具备转发能力的网络节点。是一个关键的内核参数,用于控制。在Linux系统中,
2025-07-09 12:20:59
449
原创 第十四节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Flask 后端 生产部署讲解
💻 基础篇✅✅✅✅✅✅✅✅✅✅✅✅✅🏆 专栏链接。
2025-07-08 17:32:10
805
原创 编译安装Python 3.9(Linux Centos 7)
执行上述步骤后,Python 3.9.9将被安装到系统中,可通过。通过 alternatives 系统实现软链接的智能切换。
2025-07-08 15:41:22
477
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_syn_retries
是客户端侧控制 TCP 连接建立容错能力的核心参数,其取值需根据网络环境、业务重要性、应用架构核心原则:在“连接成功率”与“失败反馈速度”之间找到平衡;避免盲目调大:过多重试可能导致资源浪费和用户体验下降;需与应用层逻辑协同:确保内核重试机制与应用层超时、重试策略一致,避免冲突。
2025-07-08 12:50:38
887
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_synack_retries
取值过大可能导致半连接队列拥堵,降低并发能力;取值过小可能在弱网络环境下增加连接失败概率;实际配置需结合业务场景(并发量、网络质量)、服务器资源及安全需求综合调整,并与等参数协同优化。
2025-07-08 12:45:53
1031
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_max_syn_backlog
业务场景(如高并发服务);系统资源(内存大小);关联参数(如somaxconn在面对突发连接请求或潜在 SYN 攻击时,配合 SYN Cookies 和队列监控能更有效地保障服务可用性。
2025-07-08 12:41:35
944
原创 【网络】Linux 内核优化实战 - net.ipv4.ip_local_port_range
当客户端主动发起连接(如访问网页、API 调用等)时,系统会从这个范围中动态分配一个临时端口,作为本地端点的标识。是管理客户端临时端口的核心参数,合理配置对系统网络稳定性和并发能力至关重要。是一个非常重要的内核参数,用于指定。在 Linux 系统中,目录下的配置文件(如。
2025-07-07 13:07:28
363
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_syncookies
而启用 SYN Cookies 功能后,当服务端的 SYN 队列满了之后,后续收到的 SYN 包不会被丢弃,而是会根据算法计算出一个 Cookie 值,这个 Cookie 包含了一些与连接相关的信息,如初始序列号等,并且不会在服务器端保存连接状态。当服务端接收到客户端的 ACK 报文时,通过将 ACK 报文减去 1 获取 Cookie,然后根据 Cookie 判断报文的合法性并重建连接状态,进而完成连接的建立,这样即使受到 SYN 攻击导致 SYN 队列满时,也能保证正常的连接可以成功建立。
2025-07-07 13:04:18
586
原创 【网络】Linux 内核优化实战 - net.ipv4.ip_local_reserved_ports
预留过多端口会减少系统可自动分配的临时端口数量,可能导致高并发场景下“端口耗尽”(如大量出站连接失败)。范围内,可能被系统自动分配给临时连接,导致服务启动失败(提示“端口已占用”)。可有效避免端口冲突,保障服务稳定性,尤其适用于需要固定端口的服务器环境或复杂网络架构中。对于依赖特定端口的 legacy 系统(如老旧设备通信),预留端口可确保其正常运行。某些端口可能用于内部服务通信,不希望被外部临时连接占用,可通过预留限制其使用场景。系统调用)使用,避免被系统的临时端口分配机制占用。),但该端口恰好落在。
2025-07-07 13:01:15
763
原创 为什么高手部署 Python 应用都用 Gunicorn?3 分钟看懂它的核心魔力
Gunicorn 是 Python Web 应用部署的重要工具,凭借其高性能、稳定性和易用性,成为生产环境的首选 WSGI 服务器之一。合理配置 worker 数量和工作模式,并配合 Nginx,可有效提升应用的并发能力和可靠性。
2025-07-06 21:57:48
943
原创 【网络】Linux 内核优化实战 - net.ipv4.tcp_timestamps
是一个平衡性能与开销的关键参数,默认启用可适配大多数网络场景;仅在特定需求(如低开销、隐私保护)下才建议禁用,且需评估潜在风险。
2025-07-05 14:01:24
809
第二节:Vben Admin v5 (vben5) Python-Flask 后端开发详解(附源码)
2025-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人