- 博客(18)
- 资源 (25)
- 收藏
- 关注
原创 (3) s3cmd get object 代码流程
ceph version 12.2.5 (cad919881333ac92274171586c827e01f554a70a) luminous (stable)s3cmd get 时的代码流程get 代码调用流程civetweb.c worker_thread:static void *worker_thread(void *thread_func_param){...
2018-09-17 19:01:42 1102
原创 (2) S3 connect reset by peer
Connect reset 原因 定位分析1. 问题表现继第一篇《问题描述 & 初步分析定位》, 问题表现为:s3cmd error message: error: [Errno 104] Connection reset by peerradosgw error message: ERROR: flush_read_list(): d->client_cb->...
2018-09-17 18:54:13 1315
原创 (1) S3 connect reset by peer
问题描述 && 初步分析定位问题描述s3cmd -q get s3://zh_test/data_30.tar - | tar -xvf - -C ./在使用上面的命令,从S3中get 一个tar包,并同时解压到本地ECFS分布式存储的卷中时,会发生报错,导致get中断。问题复现频率非常高s3cmd 日志#s3cmd -q get s3://zh_test...
2018-09-17 18:51:20 989
原创 2) UDP Packet Lost - packet reassembles failed
之前有分析 receive buffer errors,在公司的项目中同时还遇到了 packet reassembles failed报错,在该篇文章中将对该问题进行分析一. Packet reassemble当发送的UDP报文长度大于MTU大小时,IP层会将报文进行分片当接收端收到分片后,会进行分片重组,生成一个完整的UDP报文分片重组的过程由内核协议栈完成的,协议...
2018-08-29 19:56:30 3317
原创 1) UDP Packet Lost - receive buffer errors
最近公司项目遇到一个 UDP丢包问题,导致数据库有一些异常。 在经历了几天加几个夜晚的分析定位,总算将问题解决,特写下总结、分析的文章,以供追溯一. UDP Receive Packet 过程首先网络报文通过物理网线发送到网卡网络驱动程序会把网络中的报文读出来放到 ring buffer 中,这个过程使用 DMA(Direct Memory Access),不需要 CP...
2018-08-29 19:53:15 6216
原创 Big Packet lose in K8s (三) - Simulate the Packets lost issue on the K8s environment by manual
在虚拟化的环境中手工模拟丢包问题进一步明确该问题是一个纯粹的网络问题,而与K8s、Docker、flannel都没有关系环境宿主机: 10.10.88.128虚拟机: 10.10.88.118/24客户端物理机:10.10.88.2复现步骤在虚拟机中建立网络环境test.sh: #!/bin/shbrctl addbr docker0...
2018-08-29 19:21:34 283
原创 Big Packet lose in K8s (二)
新的征程在第一篇定位 K8s环境中打包丢失的问题的时候,我们定位到 eth0收到了No.9 报文,但是 flannel.1 中丢失了No.9 报文。 那么在 eth0 到 flannel.1 之间,到底经过了什么处理,为什么丢包了呢?因为我们配置K8s的 nodeport service 将外部30063端口 转换为 内部 3000端口,而service 的功能是由iptables...
2018-08-29 19:20:07 477
原创 Big Packet lose in K8s (一)
环境K8s v1.10.2Docker 1.13.1flannel image v0.9.11 master + 2 work nodes1. 问题表现访问在该环境中运行的grafana页面,发现4个GET请求中有一个timeout failed 2. 问题定位过程2.1. K8s + flannel 网络结构&报文流转分析 定位之前,...
2018-08-29 19:12:32 289
原创 S3 上传大文件 InvalidRange
问题s3流式上传大文件,报错:416 InvalidRangetar -cP data_150G | s3cmd put - s3://wuyan_test/data_150G经过多次测试,得到结论: 文件大小从150GB~1TB 都会导致416错误问题表现s3cmd output: rgw log:2018-08-22 21:26:12.854078 7f25...
2018-08-27 16:54:27 5035 2
原创 KVM最佳实践参数测试总结
KVM最佳实践参数测试CPU模式 CPU型号:E5-2640 测试工具:unixbench 操作系统: Fedora 22测试数据 CPU mode 得分 host-model 3185.7 host-passthrough 3891.7测试结论host-passthrough对CPU性能有显著提...
2018-08-21 22:52:25 962
原创 VxLAN 实验 -- 不同网段的网络通信
目的基于VxLAN,实现不同网段下,跨主机节点的网络通信实验环境两台虚拟机192.168.1.183/24、 192.168.1.59/24 操作配置 192.168.1.183/241. bash net.sh#!/bin/shbrctl addbr br-zouip link add zouveth0 type veth pe...
2018-08-21 09:20:31 2624 1
原创 VxLAN实验 -- 相同网段的网络通信
目的基于VxLAN,实现同一网段下,跨主机节点的网络通信实验环境三台虚拟机192.168.1.59/24 、 192.168.1.183/24 、192.168.1.192/24相关脚本创建一个VxLAN的环境 net.sh#!/bin/shbrctl addbr br-zouip link add zouveth0 type ve...
2018-08-20 18:00:53 2317
原创 libvma状态机代码阅读
libvma状态机代码阅读理论基础状态转换关系表现形式状态装换图 状态装换表 这两种表现形式是等价的,对人类而言,显然状态转换图更为的直观,但对程序而言,状态装换表却更加的直接 程序的世界中,用“二维数组”来承载一个表结构 状态机的三要素state 状态 event 事件action 转换状态迁移状态的迁移细分为下面三个步骤:离开之前的状态在执行action过程(
2015-11-10 15:11:26 628
原创 libvma状态机代码阅读
# libvma状态机代码阅读# 理论基础## 状态转换关系表现形式- 状态装换图![状态机](http://7xo52s.com1.z0.glb.clouddn.com/2015-11-09-1.png)- 状态装换表![状态装换表](http://7xo52s.com1.z0.glb.clouddn.com/2015-11-09-2.png)
2015-11-10 14:13:40 658
转载 关于voiletile关键字。
MSDN Library中写到: volatile 关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。[从这里可以看出,如果使用了该修饰符,则应该是每次都从内存中读取的,对吧!] volatile 修饰符通常用于由多个线程访问而不使用 lock 语句(C# 参考)语句对访问进行序列化
2010-01-05 19:21:00 412
原创 for循环效率问题整理
问:下面哪种写法,循环语句的效率更高? for (row=0; row{for ( col=0; col{sum = sum + a[row][col];}}for (col=0; col{for (row=0; row{ sum = sum + a[row][col];}}
2010-01-04 18:40:00 2104
转载 堆、栈及静态数据区详解
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那
2009-12-30 22:15:00 254
原创 第一个窗口程序
程序截图:程序代码:#include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow){ static TCHAR szAppNa
2009-12-28 14:22:00 270
windows程序设计(简体中文版)Charles Petzold
2009-12-27
新编Windows API参考大全
2009-12-27
王爽 汇编语言第二版PDF格式part2
2009-11-09
王爽 汇编语言第二版PDF格式part1
2009-11-09
实用算法的分析与程序设计(吴文虎、王建德).pdf
2009-09-18
算法艺术与信息学竞赛(刘汝佳、黄亮).pdf
2009-09-18
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part7.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part6.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part5.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part4.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part2.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.part1.rar
2009-09-13
Windows.环境下32位汇编语言程序设计(第2版)完整高清晰PDF版part1
2009-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人