新软件:轻量级的开源反向代理服务器相对于squid这种重量级选手,smartc是一个轻量级的反向代理.smartc将专注于HTTP协议,致力于成为高性能、轻量级的支持反向代理cache服务器. 1)使用了很多新的系统特性,来解决用户态和内核态之间过多的内存拷贝问题,保证了内存的平稳性. 2)最大限度的缩短数据到达网卡的距离,提升了cache响应. 3)突破32bit系统对4G内存的限制,可以提升服务器的吞吐量和资源利用率. 4)更多地去支持HTTP/1.1中新的特性,提升cache的性能. 5)将使用面向结构的LUA语言来设计各类配置项,缩短用户的学习时间. Smartc的特性: 1 支持异步io 2 支持异步的sendfile系统调用 3 支持文件映射mmap 4 支持If-Modified-Since条件验证 5 支持千万级别的document存储,专为大存储设计的Hash 6 支持32位OS,超过4G内存限制 7 支持epoll 8 支持结构化的配置语言LUA,让系统管理人员获得更多的主动权. 新闻扩展部分: 现有特性: 1 支持异步io 2 支持异步的sendfile系统调用 3 支持文件映射mmap 4 支持If-Modified-Since条件验证 5 支持千万级别的document存储,专为大存储设计的Hash 6 支持32位OS,超过4G内存限制 7 支持epoll 8 支持结构化的配置语言LUA,让系统管理人员获得更多的主动权. 存在的问题: 1 不支持>2G文件 2 不支持用户进程内存,和共享内存的cache置换算法 3 不支持HTTP/1.1的keep-alive特性 4 不支持HTTP/1.1的Vary特性 5 不支持HTTP/1.1的ETag和If-None-Match条件验证 运行环境: 1 安装有LUA5.1版本以上 2 RedHat 企业版4或以上版本,及其他Linux发行版.在RedHat 企业版4进行测试,可以顺利安装运行. 发布时间: 1 开发时间已经于2008.2.17基本结束.大概需要3个星期的时间来进行回归测试,并即时完成各种bugfix. 2 初步定为2008.3月底发布 一 现在的互联网 在web刚兴起的时候,互联网估计主要是用来解决document共享的问题.从当时的HTTP/0.9版本上,可见一斑.到后来用户逐渐的增多,以及 apache的成功,和HTTP/1.0的推出,使得互联网的数据业务量出现极大的增长.HTTP/1.0已经提出了caching的概念,设计者估计也看到了网络拓扑结构的复杂性,不是单纯的web server就可以应对的.HTTP/1.1在1.0的基础,对caching又做了进一步的改进. 现今,绝大多数的互联网数据业务都是基于HTTP/1.1开展的.由于数据量的激增,web caching在提升整个互联网的体验方向上,显出了极为重要的生态价值.web caching在减少带宽消耗,加快用户访问速度,应用层的负载均衡方面,发挥着很重要的作用. 尤其web2.0的出现,互联网数据量相对web1.0又有了一次成倍的增长,像Youtube之类的视频网站,每日的访问量都是相当庞大的. 二 为什么不用Squid Squid和apache几乎是属于同时代的产品,很好的应对了web1.0时代的互联网数据业务.Squid一个非常庞大的proxy,不仅支持 HTTP,而且支持FTP,并且支持很多种cache协议,如ICP等等.几乎proxy产品需要的功能,squid都具有. squid是基于单进程、单线程实现的,使用了最基本的read/write来处理读写问题,和用户级别的进程内存来缓存某些小的document.由于 read/write的系统调用,可能会导致用户态和内核态多次的内存拷贝,尤其是向网卡发送数据时,可能导致系统的内存抖动.在32bit的操作系统上,squid的内存使用始终无法超越3G.在处理小文件的cache问题时,squid的吞吐量非常低.squid的配置项,异常庞大,需要较长的学习周期,才能很好的掌握. 开始新的体 |
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|