Published December 25th, 2007
in SystemAdmin.
memcached的介绍我就不废话了, 所有的胡说都如下:
一个藏袍的那篇《使用memcached进行内存缓存》算是memcached FAQ的翻译,看看不错
看源代码的朋友请直接去sixapart, v-1.0版本在web svn上显示有问题,推荐下载source packages来分析, 对udp和线程的部分都可先省去不看.
分析代码的文章不多,NP的一篇memcached深度分析 值得推荐.
memcached的步长修改和items大小修改方式 需要联系业务而操作,总的原则是存储对象均匀分布在某一大段连续的slabs下,items不太长为妙;
在分配给memcached内存使用中需要充分考虑到操作系统本身使用RAM状态, 另在memcached 1.2.2版本中(包括更old)使用内存过激时常常会将memcached守护进程crash掉! update 新版且选择vv模式写入日志来查看下运行和使用对象的状态.
哦, 最后说句, 我们的memcached 命中率 96.3%
Published November 29th, 2007
in SystemAdmin.
一年前, 他是名system admin, 稍微懂些PHP和LVS; 今天我看到他开发的分布式文件系统!
1千万? 还是几十P? 当你的日志都大于2G; 当你的SAN都不能满足你的数据量增长; 当你的机器超过万台.
机遇昭示未来~
我把memcached的老底都翻出来了, 很多还是不懂, 而更多匮乏的显现更证明了数据结构和算法的重要性. ps: 还好之前翻了下双向链表; 要不更糊涂.
从系统管理员成长到系统架构师 ,路究竟有多远?
熟悉/熟练 Router/Switch
FW,LB [复杂的南北及地区访问速度问题]
Server pool [LAMP, Xen, Solaris, Oracle RAC, MySQL]
Cache
Storage [DFS]
把一切投射在实物上, 学习更有感觉.
Now: 解决从路由器,交换机到防火墙和负载均衡设备的上层互联网络环境搭建( 有些生疏,但不算是壁垒),解决LAMP的优化和集群化管理和监控及预警系统.
Hope: 更深的理解架构,解决web 2.0的并发,cache,存储问题.
Published September 19th, 2007
in SystemAdmin.
昨日认识了位健谈的IT人,原在verycd作系统管理的叶宁(这哥们现飘泊去见首都人民了).
以前sweater给我介绍的他写的《大型高负载网站架构和应用初探》, 他总结了很多信息和数据,感谢叶宁的辛劳成果. 这里我也想就此PPT写些自己的感想.
老牌的互联网公司,如Yahoo! ,网易等因成长和壮大的时间曲线较长,所以你可以看到多数采取的方式是以频道或项目来分割开, 避免站点臃肿到不可控制. 基本的架构方式为:
前层的反向代理加速—Web Server—Cache Server—DB
而负载均衡的方式也使用了如DNS轮循或部分硬件负载均衡设备来承担大流量.
叶宁在ppt第一部分提到了性能更好的 Web服务器, 世面上Web Server“品种繁多”,挑选适合自己的尤其重要. 一般的Web Server多是在User Layer, 但在RedHat 9.0时我也使用了TUX(kernel Layer层面上Web Server). 页高速缓冲存储器通过DMA方式将置换数据直接传导网络,实现了零拷贝的操作. 对小字节数据块静态操作,有着非常优良的体验; but, 如果崩溃的话,呵呵 这后果也是….
注: DMA的方式因为减少了CPU的参与, 而且DMA池应用于Cache System也是可行的,RedHat为TUX也在往能使用减少User Layer参与的情况下, 尽量让其在User Layer 守护, 我想这个思路是可以应用与除了web server以外的应用上.
除了一些商业的Web Server性能不错的外, 有些做Web 加速和代理的软件我们也放在一起介绍,
如Lighttpd, Nginx,HAproxy.
这三个应该是现在应用最多的前层软件, Lighttpd使用比较著名的例子如Flickr, tudou.com
Nginx 业内站点如sina, 51.com 等都是应用它的.
ppt第二部分提到的是缓存系统. 我在这里也说下自己的意见:
Linux在kernel 2.5后就将/dev/shm与tmpfs使用了同个struct 结构. 在以前很多文章中我都看到要用shm来做cache存储的地方,但问题是没有仔细考虑过机器的内存大小,使用内存情况,且也没有能限制shm被做为cache使用的大小限制! 我更推荐使用memcached和对PHP优化上.
最后提下负载均衡环境, 在提供Web应用的站点中使用的方式是和¥挂钩的, 如LVS, HAProxy, 加上Linux-HA项目, 完全能撑起千万的流量.
另一种就是使用硬件设备, 如F5 BigIP, NetSclaer设备.
当然Web 2.0的公司提倡DIY的精神也未尝不可,一台1U的IA32硬件设备, […]
Published September 7th, 2007
in SystemAdmin.
用于简化处理和创建大规模数据集的编程模型MapReduce;用于存储和管理大规模数据的系统BigTable;分析分布式运算环境中大规模数据集的解 释编程语言Sawzall;用于数据密集型应用的分布式文件系统的“谷歌文件系统”(Google File System);还有为处理分布式系统队列分组和任务调度的“谷歌工作队列”(Google Workqueue)。
Published August 16th, 2007
in SystemAdmin.
Visolve Squid Team
References
[1] G. Banga and J. C. Mogul. Scalable kernel performance for Internet servers under realistic loads. In Proceedings of the USENIX Annual Technical Conference, June 1998
[2] A. Chandra and D. Mosberger. Scalability of Linux Event Dispatch Mechanisms. HP Labs Technical Report, December 2000
[3] J. Lemon. Kqueue: A generic and scalable event notification facility. […]