- 博客(10)
- 收藏
- 关注
原创 网络设备性能测试定义
传统网络设备性能标准主要来源于3个RFC文档:RFC1242,RFC2544和RFC3511。RFC1242定义了网络性能基准测试及测试结果用到的基本术语,最重要的4个是:吞吐量,丢包率,延迟,背靠背。RFC2544对上述性能评测参数的具体测试方法、结果提交形式作了较详细的规定。RFC3511详细描述了防火墙设备的测试标准与方法,对RFC2544中的指标如何测试提供了更详细的指导。
2024-10-18 18:47:23
805
原创 DPDK memif介绍
同一主机上的不同DPDK进程可以采用内存交换的方式进行报文传输,这一传输接口叫做memif(shared memory packet interface)。传输的报文是原始报文格式,可以配置为Ethernet模式,IP模式,Punt/Inject模式。目前DPDK memif只支持Ethernet模式。memif接口有两种身份,master和slave,也可以称为server和client,两者通过socket传递控制消息。
2024-10-17 09:33:45
1118
原创 代码风格 - 之美
程序员写代码就跟中国人写汉字一样,每个人熟悉不同的字体,每个人也有自己不同的代码风格和习惯。如果是一个项目,需要多人团队合作,那就要一个统一的风格。如果个人编写的测试小程序,用什么样的风格看个人喜好。代码风格没有好坏之分,但是需要统一。从全局看,统一最美!
2024-10-17 09:20:46
322
原创 一个简单的缓冲区日志系统实现
/ 默认关闭五元组过滤。// 默认打开所有模块的日志。// 检查模块是否启用日志。// 报文五元组过滤条件。// 设置五元组过滤配置。// 设置模块日志配置。// 添加一些日志示例。// 会话模块日志示例。// 定义日志优先级。// 全局日志缓冲区。// 打印日志缓冲区。// 清空日志缓冲区。// 清空日志缓冲区。
2024-10-17 09:14:51
671
原创 Unix 设计哲学的准则
今天,可移植性早被视作现代软件设计中一个理所当然的特性,这更加充分说明这条 Unix 准则早就在 Unix 之外的系统中获得了广泛认可。在其他方法论中,建立原型只是设计阶段中一个不太重要的组成部分,然而,在 Unix 环境下它却是达成完美设计的主要工具。今天,许多 Unix用户之所以要使用小写的命令和神秘的名字,不再是因为有其限制条件,而是他们就喜欢这么做。虽然很多经验丰富的 Unix 用户认为这是可取的做法,可其他操作系统的用户却并不认同此观点。此外,使用功能强大的在线工具来处理文件是非常环保的做法。
2024-10-16 16:35:18
614
原创 Nginx reload流程
1.向master程发送HUP号( reload命令)在高并发的场景下 , reload会造成一段时间内worker进程数量大于CPU物理核数的情况,发生CPU争抢,CPU缓存效率下降,因此在QPS或者并发连接数不变的情况下,nginx总体性能会略有下降2.master进程校验配置语法是否正确nginx -t检查配置文件正确与否的操作,如果语法错误,reload会中断,原worker进程仍然按照原配置项提供服务3.master进程打开新的监听端口。
2024-10-14 18:04:32
1152
原创 沙箱技术介绍
在计算机领域中,沙箱技术(Sandbox)是一种用于隔离运行时程序的安全机制,其目的是限制不可信代码或不可信进程运行时的访问权限。沙箱会为待执行的程序提供一个虚拟的运行环境,这个虚拟环境中包含一些虚拟的硬件和软件资源,如文件系统、网络、系统调用等,使应用程序或进程可以在该环境中运行。在沙箱中运行的程序只能访问沙箱给它加载并限制的资源,而不会影响到外部的应用、系统或平台,避免其对计算机中的其他程序或数据造成永久的更改。
2024-10-11 11:56:59
1765
原创 APT攻击和防御
APT(高级持续性威胁,Advanced Persistent Threat)是一种针对特定目标的长期网络攻击,其特点是持续时间长、隐蔽性强。APT 攻击通常以窃取核心资料为目的,表现为有计划的网络入侵和恶意商业间谍活动。攻击者经过精心策划,采取高度隐秘的方式对目标进行有组织的渗透与数据窃取,这类行为本质上是一种“网络间谍”行为。APT 攻击综合运用了多种手段突破网络防御,通常通过 Web 或电子邮件传递恶意内容,利用应用程序或操作系统的漏洞。
2024-10-11 11:42:00
1640
原创 谈谈代码可读性
假设你在开发 1 个业务功能,需要一个图片转换功能(把 DXF 图转换为 SVG 图),你读过系统已有的代码(包括 API 文档),没有发现看起来像这样功能的类或函数,你只好新写一个函数。代码可读性(Readability),顾名思义就是代码有多容易被人读懂,我们可以通过代码作者以外的开发人员需要多少时间能理解 1 个代码单元(代码单元指 1 个类或 1 个函数),来衡量这个代码单元的可读性。Google 主要通过代码评审制度来确定代码的可读性,没有任何代码可以不经过代码评审就进入代码库。
2024-10-08 09:19:58
1179
原创 sizeof vs strlen - 关于代码可读性、性能考量和编译器优化
在C语言中,有些函数是作为编译器内置的,这意味着编译器会直接将它们替换为相应的机器代码,而不是生成函数调用的代码。另外即使在性能关键路径,比如在循环处理过程中,编译器也会根据代码上下文判断出strlen()的参数字符串在该自治代码块中是否恒定,来决定是否对其进行编码优化,如果满足条件,编译器会毫不犹豫的优化代码。在编译期间,C语言的常量会被替换为其具体的值或表达式。总的来说,C语言的常量在编译期间的处理方式取决于常量的类型和定义方式,编译器会尽可能地优化常量的处理,以提高程序的性能和效率。
2024-09-30 15:27:14
803
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人