<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3323698285874102344</id><updated>2011-04-22T10:25:17.841+08:00</updated><title type='text'>智慧之风</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3323698285874102344.post-8526398185877742277</id><published>2008-07-01T13:58:00.004+08:00</published><updated>2008-07-01T14:06:30.255+08:00</updated><title type='text'>我看----Google Developer Day 2008 China</title><content type='html'>和大家一起分享&lt;br /&gt;Google Developer Day 2008 China 资料&lt;br /&gt;http://sites.google.com/site/developerdaychina/&lt;br /&gt;&lt;br /&gt;有些主题讲座真的很水。&lt;br /&gt;&lt;br /&gt;真的不希望谷歌中国沦为和雅虎中国一样的地位和命运。&lt;br /&gt;&lt;br /&gt;注意：难道大公司的中国公司都是在搞一些边缘的小技术，小应用么？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3323698285874102344-8526398185877742277?l=smartwindy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/8526398185877742277/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3323698285874102344&amp;postID=8526398185877742277' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/8526398185877742277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/8526398185877742277'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/2008/07/google-developer-day-2008-china.html' title='我看----Google Developer Day 2008 China'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3323698285874102344.post-7573334911773739503</id><published>2008-04-24T13:24:00.004+08:00</published><updated>2008-04-24T13:37:03.057+08:00</updated><title type='text'>apache with memcached</title><content type='html'>原创：转载请注明 from &lt;a href="http://smartwindy.blogspot.com/"&gt;http://smartwindy.blogspot.com&lt;/a&gt;&lt;br /&gt;         当提起Apache的时候，大家都能很快的联想到其功能丰富而又极其强大。filter,safe,proxy,cache等等一些列的功能给我们的web应用带来强大的支持，在这里我想谈的是apache的cache功能，apache的cache主要通过基于DSO方式的mod_cache,mod_disk_cache,mod_mem_cache,mod_file_cache等这四种方式进行体现，无论哪种方式可以归结于基于本地的缓存方式，对于在cluster或多机的环境下，缓存数据不能共享，这使得在缓存的扩展和延展能力方面大大受到牵制。由于Memcached具有良好的分布式缓存的功能，如果apache的缓存采用Memcached存储那么，Apache的缓存功能将大大的增强。&lt;br /&gt;&lt;br /&gt;从网上了解到目前一个开源项目也是基于目标，采用apr_memcached作为其C的连接方式，基于DSO的方式，通过可配置的方式，就能使用访问数据缓存于Memcached内。通过简单配置httpd.conf就可以充分利用Memcached的缓存功能，与配置mod_xxx_cache同样的配置方式。今简单而有效。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/modmemcachecache/"&gt;http://code.google.com/p/modmemcachecache/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;apr_memcache&lt;br /&gt;&lt;a href="http://www.outoforder.cc/projects/libs/apr_memcache/"&gt;http://www.outoforder.cc/projects/libs/apr_memcache/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;btw:&lt;br /&gt;&lt;br /&gt;apr_memcache很久没有更新了，不知道mod_memcached_cache还能存活多久！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3323698285874102344-7573334911773739503?l=smartwindy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/7573334911773739503/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3323698285874102344&amp;postID=7573334911773739503' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/7573334911773739503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/7573334911773739503'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/2008/04/apache-with-memcached.html' title='apache with memcached'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3323698285874102344.post-4255767881933339213</id><published>2008-04-21T17:48:00.002+08:00</published><updated>2008-04-21T17:52:48.290+08:00</updated><title type='text'>haproxy version 1.3.15 release</title><content type='html'>haproxy version 1.3.15 release包含了很多新的特性,最重要的一个更新是状态更新("stats updates"),增强对EndServer的检测和检查.另外添加了"leastconn"负载均衡算法.支持内部转发的重订向.同时更新大量文档.&lt;br /&gt;haproxy是一款开源的，高可靠性，高性能的，基于TCP/HTTP负载均衡器方案 &lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://haproxy.1wt.eu/img/haproxy-pmode.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;下载：&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.tar.gz"&gt;http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.tar.gz&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3323698285874102344-4255767881933339213?l=smartwindy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/4255767881933339213/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3323698285874102344&amp;postID=4255767881933339213' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/4255767881933339213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/4255767881933339213'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/2008/04/haproxy-version-1315-release.html' title='haproxy version 1.3.15 release'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3323698285874102344.post-9055944261805877200</id><published>2008-04-20T11:25:00.001+08:00</published><updated>2008-11-13T19:51:51.050+08:00</updated><title type='text'>基准测试：libev vs libevent</title><content type='html'>原文：&lt;a href="http://libev.schmorp.de/bench.html" target="_blank"&gt;http://libev.schmorp.de/bench.html&lt;/a&gt;&lt;br /&gt;关于libev的介绍请见：&lt;br /&gt;&lt;a href="http://titanfoot.javaeye.com/blog/183364" target="_blank"&gt;http://titanfoot.javaeye.com/blog/183364&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;本文主要描述基于libevent和libev的程序的结果比较。&lt;br /&gt;&lt;br /&gt;libevent首个版本发布于2000-11-14.是高性能事件循环，支持简单的API，两种事件类型(  I/O+timeout,signal+timeout),支持select,poll,epoll,kqueue等。&lt;br /&gt;&lt;br /&gt;libev第一个版本发布于2007-11-12，也是高性能事件循环，支持八种事件类型(I/O,real time timers,wall  clock timers,signals,child status changes, idle,check and prepare handlers)&lt;br /&gt;它使用一种优先队列的方式管理计数器以及使用数组作为基础数据结构。对于相同事件监视器数没有人为的限制。它为libevent提供一个竞争层。&lt;br /&gt;测试：&lt;br /&gt;基准测试是一个很简单的示例。&lt;br /&gt;libevent采用的1.3e版本，libev采用2007-11-12的beta版本，测试用例采用gcc  version 4.1.3进行编译。&lt;br /&gt;编译采用-O3 -fno-guess-branch-probability -g  参数优化，运行平台amd64(2G dul Opteron),Debian GNU/Linux(Linux version 2.6.21-2),都采用epoll  工作模式。&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;基准测试一，无超时,100和1000的活动客户端&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6sO0BmXwzfI/SAq32xJV-HI/AAAAAAAAAAU/T9-wypaIUB8/s1600-h/dat.t0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_6sO0BmXwzfI/SAq32xJV-HI/AAAAAAAAAAU/T9-wypaIUB8/s320/dat.t0.png" alt="" id="BLOGGER_PHOTO_ID_5191163672031262834" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;基准测试二,空闲超时,100和1000个活动客户端&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6sO0BmXwzfI/SAq4LRJV-II/AAAAAAAAAAc/1I2p9y-nkG8/s1600-h/dat.t1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_6sO0BmXwzfI/SAq4LRJV-II/AAAAAAAAAAc/1I2p9y-nkG8/s320/dat.t1.png" alt="" id="BLOGGER_PHOTO_ID_5191164024218581122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;概要：&lt;br /&gt;基准测试说明基于libev具有更低的消耗，因此要快于libevent,在api设计问题也在结果中扮演重要的角色，当采用计时器的时候native  api比emulation API更有效。尽管这使得libev处于劣势，但它仍然要快于libevent &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3323698285874102344-9055944261805877200?l=smartwindy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/9055944261805877200/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3323698285874102344&amp;postID=9055944261805877200' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/9055944261805877200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/9055944261805877200'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/2008/04/libev-vs-libevent.html' title='基准测试：libev vs libevent'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6sO0BmXwzfI/SAq32xJV-HI/AAAAAAAAAAU/T9-wypaIUB8/s72-c/dat.t0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3323698285874102344.post-6777745090477495768</id><published>2008-04-20T11:12:00.000+08:00</published><updated>2008-11-13T19:51:51.175+08:00</updated><title type='text'>基于MOD_BUT 的apache集群方案</title><content type='html'>作为apache的集群方案,虽然可以利用mod_proxy的反向代理功能实现，但有些功能的缺失，导致其无法实现基于会话的集群方案。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6sO0BmXwzfI/SAq1XBJV-GI/AAAAAAAAAAM/bHXu4i6EL_Q/s1600-h/mod_but.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_6sO0BmXwzfI/SAq1XBJV-GI/AAAAAAAAAAM/bHXu4i6EL_Q/s320/mod_but.jpg" alt="" id="BLOGGER_PHOTO_ID_5191160927547160674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;        MOD_BUT是基于apache模块形式的另一种集群方式，利用cookie的会话机制实现对用户会话的维护，从而可以安全有效的实现SSO，并且提供对用户会话的安全保护。MOD_BUT可以提供基于会话的集群机制.&lt;br /&gt;&lt;br /&gt;btw:大家使用的时候要注意其使用许可。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3323698285874102344-6777745090477495768?l=smartwindy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smartwindy.blogspot.com/feeds/6777745090477495768/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3323698285874102344&amp;postID=6777745090477495768' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/6777745090477495768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3323698285874102344/posts/default/6777745090477495768'/><link rel='alternate' type='text/html' href='http://smartwindy.blogspot.com/2008/04/modbut-apache.html' title='基于MOD_BUT 的apache集群方案'/><author><name>乐百事</name><uri>http://www.blogger.com/profile/04705029157073288569</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6sO0BmXwzfI/SAq1XBJV-GI/AAAAAAAAAAM/bHXu4i6EL_Q/s72-c/mod_but.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
