mumumuwudi的博客

  • 首页
  • 归档
  • 分类
  • 关于
  • 标签

Linux动态跟踪技术(内部分享)

发表于 2020-08-27   |   分类于 linux
前一段时间给公司内部分享了关于Linux动态跟踪技术的一个PPT: 转载请注明出处,谢谢。。
阅读全文 »

CPU热点函数抓取原理

发表于 2020-06-27   |   分类于 linux
cpu热点抓取原理,怎么才能知道是进程的哪一个函数消耗了cpu资源呢?目前gperftools,async-profile,perf 都针对不同的语言提供了抓取cpu热点函数的功能,他们抓取的原理都很类似,如果不依赖内核支持的话,简单来说就是在用户空间设置一个timer定时器,timer以一定的频率 ...
阅读全文 »

leveldb的seek_compaction

发表于 2016-10-16   |   分类于 leveldb
Seek Compaction: 如果在key在某个文件的key range的范围内,但是总是找不到,这时需要去高一级的level查找。显然该文件和高一级的文件key的范围重叠很很严重,会导致读效率的下降。因此,需要对该文件发起一次major compaction,减少该level 和level + ...
阅读全文 »

leveldb的block cache 大小对性能的影响

发表于 2016-06-09   |   分类于 leveldb
leveldb使用的缓存:// indexes and bloom filters(table索引信息缓存)// block cache (解压后的数据)// page cache (压缩的数据)// indexes and bloom filters block cach ...
阅读全文 »

利用vmtouch管理文件的page cache

发表于 2016-02-15   |   分类于 linux
利用vmtouch管理文件的page cache, vmtouch主页和使用说明:https://hoytech.com/vmtouch/源码也比较简单 https://github.com/hoytech/vmtouch/blob/master/vmtouch.c void usage() & ...
阅读全文 »

nginx_lua 扩展让 nginx 拥有可编程能力

发表于 2016-01-26   |   分类于 nginx
公司使用 lighttpd 的比较多, 主要是接入层的一些工作,而且增加了一些很多自己的模块防火墙等等. 后来nginx开始流行起来因为 lighttpd 和 nginx整体是实现方式比较类似(个人感觉nginx 借鉴了 lighttpd的实现方式),都使用了多进程异步非阻塞处理请求I/O和time ...
阅读全文 »

Epoll 新增 EPOLLEXCLUSIVE 选项解决了新建连接的’惊群‘问题

发表于 2016-01-25   |   分类于 linux

epoll最终和accept一样解决了新建连接的惊群问题 patch地址:
https://github.com/torvalds/linux/commit/df0108c5da561c66c333bb46bfe3c1fc65905898
patch比较简单, 下面摘录了一部分关键修改~~

阅读全文 »

Nginx 工作进程运行示意图

发表于 2016-01-25   |   分类于 nginx

(旧存档丢了, 只剩下一张图 ⊙﹏⊙)

nginx 工作进程运行示意图:

阅读全文 »

Thrift 的TNonblockingServer运行原理分析

发表于 2016-01-25   |   分类于 thrift

整理下thrift TNonblockingServer的工作流程,简单记录下, 因为处理过程比较复杂不具体分析了,
TNonblockingServer的工作流程如下:

阅读全文 »

go(golang) dns 解析源码 go/src/net/dnsclient_unix.go 分析

发表于 2015-09-04   |   分类于 golang
关于go dns解析的一些说明参照我的另一篇文章 –go (golang) DNS域名解析实现–go dns 解析 源码在go/src/net/dnsclient_unix.go, lookupHost()通过向本地dns server发送请求,获得IP和域名的对应关系然后返回,函数调用关系如下: ...
阅读全文 »
12…4
mumumuwudi

mumumuwudi

32 日志
10 分类
42 标签
© 2021 mumumuwudi