代码改变世界

后端系统性能优化经验总结

2011-07-08 10:50 by 后端技术, 1580 阅读, 3 推荐, 收藏, 编辑
摘要:性能优化 阅读全文

TCP状态迁移图浅析

2011-07-03 21:33 by 后端技术, 2676 阅读, 3 推荐, 收藏, 编辑
摘要:一.TCP简介 TCP提供一种面向连接的,可靠的字节流服务。面对连接意味着两个使用TCP的应用,在彼此交换数据之前必须先建立一个连接。TCP通过以下方式提供可靠性: 1. 应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的信息单位成为报文段。 2. 当TCP发出一个段后,它就启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。 3. 当TCP收到TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,而是延迟发送的。 4. TCP将保持对它首部和数据的校验和,这是一个端到端的校验和,目的是检测数据在传输在传送过程中的任何变化。如果收 阅读全文

TCP长连接与短连接的区别

2011-06-26 13:22 by 后端技术, 37613 阅读, 10 推荐, 收藏, 编辑
摘要:1. TCP连接当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的经典的三次握手示意图:经典的四次握手关闭图:2. TCP短连接我们模拟一下TCP短连接的情况,client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是cli 阅读全文

写在BF系统结束&&sap存储系统开始

2011-06-19 18:09 by 后端技术, 300 阅读, 0 推荐, 收藏, 编辑
摘要:做后端技术的码农应该都知道有三种情况是我们必须面临的:处理高并发,海量数据存储,实时更新 阅读全文

linux线程退出时系统资源释放

2011-06-12 19:37 by 后端技术, 1752 阅读, 1 推荐, 收藏, 编辑
摘要:线程创建时,系统会分配给线程一些资源,我们可以看到的就是线程描述符,线程堆栈,在系统内部还会有更复杂的系统维护一些信息,这篇的目的不是为了深入探测内核为线程维护了多少资源,我们要了解的是在线程创建时,内核总会为其维护一些资源,比较理想的情况是线程运行结束后,这些资源可以释放,以备后来者的使用。 本文要说一下使线程执行结束后释放资源的三种方法,利用这些方法,我们可以避免线程退出时,资源仍然无法释放的情况:pthread_join,这个函数的原型是pthread_join(pthread_t thread, void **value_ptr),作用是使调用函数的线程阻塞等待指定线程退出。只有线程. 阅读全文

mmap与read/write的区别

2011-06-12 13:24 by 后端技术, 7775 阅读, 3 推荐, 收藏, 编辑
摘要:在介绍mmap和read/write之前,首先先要介绍一下基础知识,其中包括磁盘,文件系统,内存。 首先说一下文件系统,linux文件系统的三层结构想必大家多少都了解一些,每个进程中都有一个用户文件描述符表,表项指向一个全局的文件表中的某个表项,文件表表项有一个指向内存inode的指针,每个inode唯一标识一个文件。如果同时有多个进程打开同一文件,他们的用户文件描述符表项指向不同的文件表项,但是这些文件表项会指向同一个inode。 此时又会引出另外一个东东:page cache。内核会为每个文件单独维护一个page cache,用户进程对于文件的大多数读写操作会直接作用到page cach. 阅读全文

mmap && madvise的配合使用

2011-06-10 17:25 by 后端技术, 5283 阅读, 0 推荐, 收藏, 编辑
摘要:mmap的作用是将硬盘文件的内容映射到内存中,采用闭链哈希建立的索引文件非常适合利用mmap的方式进行内存映射,利用mmap返回的地址指针就是索引文件在内存中的首地址,这样我们就可以放心大胆的访问这些内容了。 使用过mmap映射文件的同学会发现一个问题,search程序访问对应的内存映射时,处理query的时间会有latecny会陡升,究其原因是因为mmap只是建立了一个逻辑地址,linux的内存分配测试都是采用延迟分配的形式,也就是只有你真正去访问时采用分配物理内存页,并与逻辑地址建立映射,这也就是我们常说的缺页中断。 缺页中断分为两类,一种是内存缺页中断,这种的代表是malloc,利用m. 阅读全文

2011年下半年KPI

2011-06-06 17:31 by 后端技术, 317 阅读, 0 推荐, 收藏, 编辑
摘要:每周至少一篇博客,博客的范畴:问题解决的方案,高性能网络架构,存储,源码阅读等各个方面,加油,一个月养成一个习惯! 阅读全文