Archive

Archive for March, 2011

systemtap观察page_cache的使用情况

March 22nd, 2011 6 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: systemtap观察page_cache的使用情况

在规划服务器的内存使用的时候经常需要知道应用在理想情况下会使用多少的pagecache, 我们好预先把这个内存预留出来.

这个值操作系统没有提供可查看的管道,我们只能自己写个脚本来实现.

下面的systemtap脚本每隔N秒显示下当前os下头10个文件占用多少的pagecache, 降序排列.

Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

Linux下异步IO(libaio)的使用以及性能

March 21st, 2011 19 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Linux下异步IO(libaio)的使用以及性能

Linux下异步IO是比较新的内核里面才有的,异步io的好处可以参考这里.
但是文章中aio_*系列的调用是glibc提供的,是glibc用线程+阻塞调用来模拟的,性能很差,千万千万不要用。

我们今天要说的是真正的原生的异步IO接口. 由于这几个系统调用glibc没有提供相应的封装,所以libaio来救急了:
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

Systemtap辅助设置tcp_init_cwnd,免对操作系统打Patch

March 21st, 2011 12 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Systemtap辅助设置tcp_init_cwnd,免对操作系统打Patch

前段时间google的工程师提出对tcp的拥塞窗口的初始值进行增大可以显著的提高http的性能,这个主要是针对tcp的slow start的优化.
具体参考这里, 这里. 谢谢叔度同学从美国带回第一手信息!

由于低版本的linux内核的问题,这个参数的正确设置需要对os打patch,这个过程对线上机器来讲非常麻烦。 底下我用systemtap给出了个解决方案,免除这个麻烦. 我们在RHEL 5U4上作这个试验:
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

开源混合存储方案(Flashcache)

March 20th, 2011 2 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 开源混合存储方案(Flashcache)

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Linux, 工具介绍, 调优 Tags:

推介xz高压缩率算法

March 17th, 2011 8 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 推介xz高压缩率算法

这几天看到Linux内核2.6.38发布的release说明里面提到:

The version .38 kernel comes with a library for decompressing XZ, a format developed from LZMA and known for its high levels of compression. This library is the basis not only for SquashFS, which now also offers XZ, but also for code that allows the kernel to unpack any parts of itself and of the initial ram disks (initrds) that were compressed with XZ.

觉得比较好奇, Linux下有那么多的压缩算法, 为什么要用这个, 它有什么过人之处? 今天深入了解了下xz, 顺便作了简单的benchmark体验了下.
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

Linux 2.6.38 User-space interface for Crypto API

March 16th, 2011 1 comment

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Linux 2.6.38 User-space interface for Crypto API

Linux内核里面自带非常多的加密模块,这是模块经过调优性能非常高, 而且现在又很多硬件本身支持加密功能,比如intel的CPU支持AES加密指令,那些内核的那帮人知道更好如何利用这些硬件更快的完成加密功能的, 他们写的这些硬件的驱动在drivers/crypto目录里. 所以如果我们能在用户空间的应用程序中用到这些加密库有二个好处: 1. 无须再造轮子. 2. 性能高.

幸运的是2.6.38的内核给我们带来了这些功能. 这些功能是通过socket方式暴露的,思路非常独特优雅,同时由于支持gather write, scatter read, 无须拷贝数据,性能应该非常高.
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

fastsearch快速字符串查找算法

March 15th, 2011 Comments off

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: fastsearch快速字符串查找算法

最近在做一个项目需要涉及到快速的字符串匹配,每秒几十万次的那种。之前我用过linux内核的的textsearch库的KMP,BM,FSM的算法觉得还不错,这几个算法用于Linux网络模块的关键词过滤系统,支持非线性的字符查找,但是对性能还是不够印象深刻。于是我想起了python的fastsearch. Python这样的脚本语言字符查找用的非常的密集,所以这个算法是非常的高效的,可以说这个算法很大程度影响着python的性能。我们来看下 作者的网站 怎么说的:
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.