摘要:
一:内核支持 编译内核以支持systemtap :首先让内核中有调试信息,编译内核时需要加上 -g 标志;其次,你还需要在配置内核时将 Kprobe 和 debugfs 开关打开。 最终效果是,你能在内核 .config 文件中看到下面四个选项是设置的: CONFIG_DEBUG_INFO CONF 阅读全文
摘要:
无聊中看了些开源代码,发现其中有个相同点就是: 简单就是美 数组 链表 解决了绝大部分事情 数据结构体注意cache对齐 整个业务就是状态图 一组对象/事件就是一组状态机 状态的迁移转换都是由于消息通告而触发的 每一个消息是可以debug可以记录的 完善的日志记录分层可debug 严谨的错误处理 考 阅读全文
摘要:
问题如下: http cps:4w http响应包体21k, 流量为:21k *40K*8= 6.8Gbps 测试结果为盒子cpu满载,其接口流量显示只有400M, 仪器显示http失败较多 分析如下: 1、首先找到性能临界点,也就是当前设备最多能打到多少时仪器才开始显示丢包 目前通过二分法 调整发 阅读全文
摘要:
记得以前出现过一次类似问题: 这次check_list代码就顺便修改一下。 来看看man fopen的结果; a Open for appending (writing at end of file). The file is created if it does not exist. The st 阅读全文
摘要:
Google研究发现TCP三次握手是页面延迟时间的重要组成部分,所以他们提出了TFO:在TCP握手期间交换数据,这样可以减少一次RTT。根据测试数据,TFO可以减少15%的HTTP传输延迟,全页面的下载时间平均节省10%,最高可达40%.论文见:google_TFO_研究 用户向Server发送SY 阅读全文
摘要:
在经行性能测试时, 使用netstat -atn 查看socket 等状态时,总是卡主!!!! 有没有什么快速的办法呢? 通过proc 文件系统? strace netstat发现 也是通过read proc 文件系统 read write输出结果!!!但是 是通过遍历/proc下面每个PID目录 阅读全文
摘要:
目前在debug 的时候发现进程使用的fd 数目不够了!! 进程层面: 1.进程最多打开文件描述符数 由于目前进程已经在运行,是有ulimit 修改参数没用,目前可以通过/proc/$pid/limits来动态修改 /proc/$pid/limits 使用ulimit 命令查看 当前的限制以及使用r 阅读全文
摘要:
在多核编程中一直会存在一个问题: 多核cpu 抢占一个资源?? 为什么会出现这样的情况呢?说白了就是资源是共享的!! 所以在多核编程设计过程中 一般都是少用global全局变量多用局部local 变量 或者说需要考虑cache 的一致性 自旋锁,不休眠,无进程上下文切换开销,可以用在中断上下文和临界 阅读全文
摘要:
今天debug 应用层代码时, 发现一个宏 defined(__x86_64__) 对应x86_64 gcc 那么 arm -gcc 该使用什么宏表示呢? 使用google 搜索了一下可以用如下方式找出来: gcc -E -dM - </dev/null > filegcc 可以看到 gcc 中de 阅读全文
摘要:
目前部门网络组件bug 较多不稳定,准备自己改一改,所以现在想一想应该怎么处理!! 目前部门业务主要就是: 1、网络I/O >读取文件,频繁读取网络套接字。 2、CPU在内存中的计算 so:瓶颈应该是在网络I/O中,毕竟不是CPU密集型,所有的数据都在内存中处理 多线程??多进程 多线程:要防止频繁 阅读全文