自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(12)
  • 收藏
  • 关注

原创 Reactor模式和Proactor模式

在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。在介绍这个两个模式之前,先介绍一下同步、异步、阻塞、非阻塞的概念。同步、异步这两个概念用于应用程序和内核交换方式,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的

2012-09-20 16:10:40 388

原创 从Nginx配置看关键技术

1.虚拟主机nginx可以配置多种类型的虚拟主机:基于ip地址,基于域名,基于端口号1)基于ip地址在讲解基于ip的虚拟主机之前,先介绍一下ip别名。IP别名背后的概念很简单:可以在一块物理网卡上绑定多个IP地址.这样就能够在使用单一网卡的同一服务器上运行多个基于IP的虚拟主机.如果要在eth0网卡设备上添加两个IP别名192.168.8.43和192.168.8.44可以通过

2012-09-18 16:56:41 1820

从配置文件看nginx关键技术

1.虚拟主机nginx可以配置多种类型的虚拟主机:基于ip地址,基于域名,基于端口号1)基于ip地址    在讲解基于ip的虚拟主机之前,先介绍一下ip别名。    IP别名背后的概念很简单:可以在一块物理网卡上绑定多个IP地址.这样就能够在使用单一网卡的同一服务器上运行多个基于IP的虚拟主机.     如果要在eth0网卡设备上添加两个IP别名192.168.8.43和192

2012-09-18 16:18:25 83

转载 mysql的安装

下载代码:http://dev.mysql.com/downloads/需要注册,下载最新的5.1版本或者更高。通过Bazaar 下载。Bazaar是Mysql使用的源代码管理工具,类似于CVS,俺也没用过,有兴趣的自己看文档吧:A Contributor's Guide to Launchpad - Part 1 - Getting Started A

2012-09-18 11:52:42 317

转载 TCP链接主动关闭不发fin包奇怪行为分析

问题描述:多隆同学在做网络框架的时候,发现一条tcp链接在close的时候,对端会收到econnrest,而不是正常的fin包. 通过抓包发现close系统调用的时候,我端发出rst报文, 而不是正常的fin。这个问题比较有意思,我们来演示下:$ erlErlang R14B03 (erts-5.8.4) [64-bit] [smp:16:16] [rq:16] [async-

2012-09-11 22:01:02 2171

宽字节字符串与多字节字符串的转换

一.windows下单转换方式 1.宽字符串转化为多字节字符串   1) 利用WideCharToMultiByte函数       wchar_t *pwszBuf = L"Unicode宽字符";       int nLen = wcslen(pwszBuf) * 2 + 1; //或者通过下面一行的代码获取所需长度       // int nLen = WideCha

2012-09-06 21:54:40 141

转载 volatile

volatile的作用  volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读内存中该值.       ⒈ 编译器的优化  在本次线程内,当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后,再取变量值时,就直接从寄存器中取值;   当变量值在本线程里改变时,会同时把变量的新值copy到该寄存器中,

2012-09-05 10:54:34 291

转载 负载均衡算法

from: http://blogold.chinaunix.net/u/12592/showart.php?id=2537201互联网分布式系统中,很多服务是数据存储相关的,海量访问量下,直接访问存储介质是抗不住的,需要使用cache,cache集群的负载均衡算法就成为一个重要的话题,这里对现有的负载均衡算法进行一些总结。BTW:虽然是Cache负载均衡算法小结,其实可以说是负载均衡

2012-07-05 17:19:01 6269

转载 异步回收fork出的子进程(僵尸进程)

fork()之后,非阻塞(异步)等待子进程(回收僵尸)。fork()之后,子进程和父进程分叉执行,僵尸进程的产生是因为父进程没有给子进程“收尸”造成的,又可以根据危害程度分为下述两类:总体来说:当子进程结束之后,但父进程未结束之前,子进程将成为僵尸进程。(1)当子进程结束之后,但父进程未结束之前,子进程将成为僵尸进程,父进程结束后僵尸被init进程回收。(2)如果子进程结束了,但是

2012-06-08 13:04:24 1456

转载 文件系统读写对齐

简介: 自 2009 年 12 月起,硬盘制造商开始引入使用 4096 字节扇区的磁盘,而不是常见的 512 字节扇区磁盘。为了操作系统的正常运行,使用固件将 4096 字节物理扇区分成 512 字节逻辑分区,遮掩了这一变化,但是较大物理扇区的使用对磁盘布局和系统性能带来隐患。本文查看这些隐患,包括基准测试,它描述对一些常见 Linux® 文件系统的现实影响。随着 4096 字节扇区自 201

2012-02-09 15:44:40 2443

转载 Linux进程相关ID---有效用户ID 实际用户ID 保存设置用户ID

一个进程的 real user ID 是指运行此进程的用户角色的 ID。一个进程的 effective user ID 是指此进程目前实际有效的用户 ID(也就是权限的大小),effective user ID 主要用来校验权限时使用,比如打开文件、创建文件、修改文件、kill 别的进程,等等。如果一个进程是以 root 身份来运行的,那么上面这两个 ID 可以用 setuid/seteu

2012-02-08 10:24:57 380

转载 Linux文件句柄

在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。    对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files

2012-02-08 10:18:15 558

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除