免费ARP及ARP双发(转载)

免费 ARP(Gratuitous ARP)包是一种特殊的 ARP 请求,它并非期待得到 IP 对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP 请求,即请求自己的 IP 地址的 MAC 地址。 1. 免费 ARP 包的结构 免费 ARP 报文与普通 ARP 请求报文的区别在于报文中的目标 IP… 阅读更多 »免费ARP及ARP双发(转载)

Golang test模块benchmark性能测试(转载)

1. 概述 基准测试(benchmark)是 go testing 库提供的,用来度量程序性能,算法优劣的利器。 在日常生活中,我们使用速度 m/s(单位时间内物体移动的距离)大小来衡量一辆跑车的性能,同理,我们可以使用”单位时间内程序运行的次数“来衡量程序的性能。 注意:在进行基准测试时,硬件资源直接影响测试结果,为了保证测试… 阅读更多 »Golang test模块benchmark性能测试(转载)

Golang sync_atomic元子操作

1. atomic介绍 sync/atomic包提供了原子操作的能力,直接有底层CPU硬件支持,因而一般要比基于操作系统API的锁方式效率高些;这些功能需要非常小心才能正确使用。 除特殊的底层应用程序外,同步更适合使用channel或sync包的功能。 通过消息共享内存; 不要通过共享内存进行通信。 原子操作是在执行中不能被中断… 阅读更多 »Golang sync_atomic元子操作

Golang test模块使用

go test命令是一个按照一定的约定和组织来测试代码的程序。在包目录内,所有以_test.go为后缀名的源文件在执行go build时不会被构建成包的一部分,它们是go test测试的一部分。 在*_test.go文件中,有三种类型的函数:功能测试函数、基准性能测试(benchmark)函数、示例函数。 1. test文件和函… 阅读更多 »Golang test模块使用

关闭SSH连接

1. 查明登陆端口和登陆人 $ who secure :0 2015-07-22 03:03 (:0) secure pts/0 2015-07-23 00:27 (192.168.176.1) secure pts/1 2015-07-23 00:29 (:0) secure pts/2 2015-07-23 01:44 (1… 阅读更多 »关闭SSH连接

浅解NUMA机制(转载)

1. NUMA的诞生背景 在NUMA出现之前,CPU朝着高频率的方向发展遇到了天花板,转而向着多核心的方向发展。 在一开始,内存控制器还在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示: 这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”… 阅读更多 »浅解NUMA机制(转载)