扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
相对于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的配置项,异常庞大,需要较长的学习周期,才能很好的掌握.
开始新的体验吧
smartc是本人从2007.6月份开始思考的一个产品,中间阅读了很多其他的优秀开源server,包括lighty,nginx,squid等.经历了多次框架的从新设计和比较,最终以单进程作为框架.经过08年春节期间,严肃的思考和代码修改,于2008.2.17日代码工作基本完成,代码辗转书写了1万行左右,历时5月之久.
开始新的体验吧,不只是squid.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者