<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[瞄的技术]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[php apache mysql linux python erlang 敏捷 项目管理...自由技术及管理经验]]></description>
<link>http://hi.baidu.com/icej</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[NGiNX_HTTP_Push_Module实现push server]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/a3174566296dcb2eaa184c14.html]]></link>
        <description><![CDATA[
		
		基于Nginx开发的第三方module,可以实现comnet的server.....功能很到位啊....<br>
<br>
<br>
http://pushmodule.slact.net<br>
安装 配置很简单，我还没有仔细研究,只是体会了基本功能，官方文档中有example，有详细的ruby示例操作。在官方指定的介绍中配置很容易，有几个参数我觉得很不错。<br>
push_authorized_channels_only&#160; [ on | off ] client验证,设置为On后则server必须先被publisher设置了push信息和id号,client才能获取到,否则会返回403,这个功能可以避免由于push id号设置不安全,被恶意用户把暴力猜测id号获得内容<br>
<br>
push_subscriber&#160; [ long-poll | interval-poll ] 设置client是长连还是短连。如果是long-poll则和普通的comnet pull方式一样,client发起请求后直到server返回信息或超时才停止;interval-poll则是如果server没有相关信息马上返回304停止client请求，这个参数可以让应用更灵活。<br>
<br>
push_subscriber_concurrency&#160; [ last | first | broadcast ] 设置消息的发送方式,last表示同一个消息id号内容只发给最新链接上server的连接,first是最早连接的client获得内容,broadcast表示所有人连接获取这个id号的client都可以得到内容。<br>
<br>
我们现在的一些app游戏和互动应用都会有不少请求需要异步或需要等待一个时间才能获得内容，比如我们有个游戏,点建筑物升级后,需要等规定时间才可以反 馈结果,现在的做法是,每次用户点击建筑物都从后台数据库取得建筑物升级的时间和当前时间算差,如果没到规定的时间周期,则表示没有升级完成,同时游戏中 的建筑物升级状态栏,也是根据这个时间每次估算的.....等于每次都要反复连接数据库操作(话说我们这操作模型也真够土的...),使用NGiNX_HTTP_Push_Module走 comnet模型，会大大减少数据库的连接,完全可以异步解决,用户点建筑物升级后,向服务器发起请求,服务器向后台处理队列增加这个升级事件,队列完成 定时检测升级完成情况并向server反馈升级进度,client通过连接显示升级进度条,和反馈升级成功信息。<br>
这个module是对php做comnet的一大补充啊,要是web程序是php的话,client发起连接,php只能自己进行阻塞并等待任务处理完返 回信息,要是遇到超过HTTP会话的内容,虽然client可以继续重练,但是php本身没法保证会话的一致,虽然可以用些奇技淫巧,但毕竟不靠谱啊。像 java这类可以在server端自己派生线程的语言,就会比PHP容易多了。<br> <a href="http://hi.baidu.com/icej/blog/item/a3174566296dcb2eaa184c14.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/Nginx">Nginx</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/a3174566296dcb2eaa184c14.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-21  22:18</pubDate>
        <category><![CDATA[Nginx]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/a3174566296dcb2eaa184c14.html</guid>
</item>

<item>
        <title><![CDATA[redis压力测试]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/86f9a77e4c2eda320dd7dac7.html]]></link>
        <description><![CDATA[
		
		补充一句:Redis在Nginx上还有module支持<br>
http://people.freebsd.org/~osa/ngx_http_redis-0.2.0.tar.gz<br>
Redis官方压力测试数据http://code.google.com/p/redis/wiki/Benchmarks<br>
由于我计划应用到排行榜功能是，功能需求:根据指定uid找出该用户的所有好友积分,并根据积分输出该用户和好友积分的排行榜,及该用户在排行榜中的位置<br>
一般的Mysql设计方式<br>
user表<br>
uid <br>
name <br>
sort 积分<br>
好友关系flist表<br>
uid 用户<br>
fuid 好友<br>
<br>
用户加积分的时候需要update user set sort=100 where uid=1<br>
需要获得排行榜的时候需要先获得select uid from flist where uid=1,获得好友关系,在组合成uid列表执行<br>
select name,sort from test_user where uid in(uid1,uid2,uid3) order by sort desc获得排行榜<br>
<br>
使用Redis操作这个事就简单了。<br>
每次有新用户玩游戏先注册用户信息 set uid:1 {&quot;uid&quot;:1,&quot;name&quot;:tom}<br>
每次游戏积分更新就操作set uid:sort:1 100<br>
设置好友关系时操作 sadd uid:flist:1 uid2<br>
sadd uid:flist:1 uid3<br>
获得某个用户好友排行榜sort uid:flist:1 by uid:sort:* get uid:*<br>
如果需要将自己的用户数据也做排行榜,则需要在好友关系中要加入自己的uid: sadd uid:flist:1 uid1<br>
<br>
我对Mysql和Redis基于这个场景应用做了压力测试<br>
测试并发时的性能.测试方法,5个前端机各启动一定数量PHP进程连接目标服务器执行测试项目,产生并发效果:<br>
Redis 1000个并发持续向Redis增加100W用户数据平均每次set耗时0.12 s。条数据长度30-40字符。<br>
<br>
1000个并发对100W用户,每个用户拥有100个好友,共计10KW的数据，根据uid排序好友积分平均0.07s<br>
<br>
由于Redis基本都是内存操作,在配置时有设置操作多少次后flush到本地,压力测试cpu load average都非常低,内存占用都是存储使用，基本这个机器跑Redis很闲..<br>
<br>
<br>
同样业务场合100W用户,累计好友关系数据量500W,根据uid排序好友积分平均:0.2s。<br>
<br>
差了一个0。1000个并发持续操作Mysql....cpu狂高...IO也增长,load average也高...三高...<br>
<br>
我使用的Redis php api是php实现的，php module的执行一会就会提示连接异常,还没了解是什么问题。<br>
php-redis的redis.php 需要自行增加个方法,发送sort命令,redis.php里没有增加sort操作，也没有disconnect方法..需要实战的话建议自行先加上了。<br>
public function get_sort($key)<br>
{<br>
$response = $this-&gt;execute_command( &quot;SORT {$key}&quot; );<br>
$count = (int)substr($response, 1);<br>
$list = array();<br>
for ( $i = 0; $i &lt; $count; $i++ )<br>
{<br>
$length = substr($this-&gt;get_response(), 1);<br>
$value = $this-&gt;get_response();<br>
$list[] = $this-&gt;unpack_value($value);<br>
}<br>
return $list;<br>
} <a href="http://hi.baidu.com/icej/blog/item/86f9a77e4c2eda320dd7dac7.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/Redis">Redis</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/86f9a77e4c2eda320dd7dac7.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-20  22:24</pubDate>
        <category><![CDATA[Redis]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/86f9a77e4c2eda320dd7dac7.html</guid>
</item>

<item>
        <title><![CDATA[新装服务器PHP CPU高 TIME_WAIT多的排查]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/a31745662c6ab62eaa184c15.html]]></link>
        <description><![CDATA[
		
		昨晚在机房大干一场,装服务器。<br>
装完后和老服务器对比发现有不少差别。<br>
老服务器是REDHAT4,新服务器是CentOS5.4.<br>
新装的服务器前端机cpu load average都不低,php每个cgi进程都要30%,load average 3,而同样配置的老服务器load average 0.5。<br>
对比发现新服务器没装eaccelerator，抱着试一试的态度装了一台，对比发现cpu和load average马上降低到合理数值。<br>
<br>
现在还有个问题在解决，老服务器netstat看端口 连接关闭都很快，新服务器存在大量time_wait，但是nginx php的keepalive timeout配置都一样，sysctl.conf也对几个常见参数做了修改，但还是居高不下，而看nginx access log，两组服务器每秒请求数一样。<br>
刚才经过排查发现,netstat 显示都是去连接同一组IP的接口，在新旧两组服务器ping同一接口，发现新服务器要100多ms才可以，检查发现原来路由表少了一条路由。增加后，ping减少到20ms, TIME_WAIT一下减少到正常水平。 <a href="http://hi.baidu.com/icej/blog/item/a31745662c6ab62eaa184c15.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/web%BC%BC%CA%F5">web技术</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/a31745662c6ab62eaa184c15.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-20  21:23</pubDate>
        <category><![CDATA[web技术]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/a31745662c6ab62eaa184c15.html</guid>
</item>

<item>
        <title><![CDATA[推荐&#34;构建高性能Web站点&#34;]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/f5148e2572d7f66a35a80fbf.html]]></link>
        <description><![CDATA[
		
		最近刚把这此书读完,我读书超慢,断断续续的。这本书值得推荐。<br>
该书有几个特点是在国产书中少见的<br>
1.涉及互联网开发领域的上下游技术介绍。<br>
由于题材是性能优化,所以涉及了开发,服务器优化,文件系统各个方面,适应阅读人群很广,只要搞互联网领域技术都可以从中有所收获，并了解到其他配合领域的技术知识<br>
2.有足够的数据佐证<br>
数据很充分，作者的数据都是自己测试所得，并有介绍获得方式和计算方法，使书中的一些内容更有价值，没有像其他一些国产书籍一样，直接放出观点，但为什么这样结论没有说明。<br>
3.书的题材<br>
现在的国产书都在沉迷XX语言开发,XX系统配置,还处于一个会用,会操作的过程,但现在不管是搞互联网还是搞软件开发,只会掌握自己的开发语言,我觉得远远不够，太肤浅了，只会使用PHP，都不会Linux，谈何有Linux环境下web开发经验？谈何说熟练LAMP开发？只会配置Linux但不了解操作系统对网站的帮助,如何做好系统管理员。该书虽然对每个领域都不能极尽详细的介绍(该书题材毕竟不是某一很细专题领域)，但是都列举了各个环节对性能提升的帮助,使每个领域有所贯通。难得啊。<br>
<br>
真希望作者可以接续在出新书,围绕&quot;性能&quot;更深入的补充一些知识。<br> <a href="http://hi.baidu.com/icej/blog/item/f5148e2572d7f66a35a80fbf.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/%C6%E4%CB%FB">其他</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/f5148e2572d7f66a35a80fbf.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-13  15:40</pubDate>
        <category><![CDATA[其他]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/f5148e2572d7f66a35a80fbf.html</guid>
</item>

<item>
        <title><![CDATA[redis sort操作]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/b1286a1ed5d8a4fe1ad576d3.html]]></link>
        <description><![CDATA[
		
		http://code.google.com/p/redis/<br>
redis相传性能不错,不仅结合了key value数据库的优点,又有满足一些必要的关系型数据库的功能。<br>
我们有个产品最近想为每个用户出排行榜,APP,SNS产品常见功能，每个用户与好友做排行榜排序......无聊又必备功能。<br>
<br>
还没测试redis性能。但功能是可以实现的。还挺不错的....稍后会测试测试性能,和PHP的API 要是不错....那可真是神物啊。<br>
<br>
做个示例:<br>
<br>
[root@xpdmediainc04 redis-1.02]#&#160; ./redis-cli sadd tom:friend:list&#160; 123 #tom的好友列表 里面是好友的uid<br>
1<br>
[root@xpdmediainc04 redis-1.02]#&#160; ./redis-cli sadd tom:friend:list&#160; 456<br>
1<br>
[root@xpdmediainc04 redis-1.02]#&#160; ./redis-cli sadd tom:friend:list&#160; 789<br>
1<br>
[root@xpdmediainc04 redis-1.02]#&#160; ./redis-cli sadd tom:friend:list&#160; 101<br>
1<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:123 1000 #uid对应的成绩<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:456 6000<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:789 100<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:101 5999<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:123 &quot;{'uid':123,'name':'lucy'}&quot; #增加uid对应好友信息<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:456 &quot;{'uid':456,'name':'jack'}&quot;<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:789 &quot;{'uid':789,'name':'marry'}&quot;<br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:101 &quot;{'uid':101,'name':'icej'}&quot;&#160; <br>
OK<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli sort tom:friend:list by uid:sort:* get uid:* #从好友列表中获得id与uid:sort字段匹配后排序,并根据排序后的顺序，用key在uid表获得信息<br>
1. {'uid':789,'name':'marry'}<br>
2. {'uid':123,'name':'lucy'}<br>
3. {'uid':101,'name':'icej'}<br>
4. {'uid':456,'name':'jack'}<br>
[root@xpdmediainc04 redis-1.02]# ./redis-cli sort tom:friend:list by uid:sort:* get uid:* get uid:sort:*<br>
1. {'uid':789,'name':'marry'}<br>
2. 100<br>
3. {'uid':123,'name':'lucy'}<br>
4. 1000<br>
5. {'uid':101,'name':'icej'}<br>
6. 5999<br>
7. {'uid':456,'name':'jack'}<br>
8. 6000 <a href="http://hi.baidu.com/icej/blog/item/b1286a1ed5d8a4fe1ad576d3.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/Redis">Redis</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/b1286a1ed5d8a4fe1ad576d3.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-13  14:58</pubDate>
        <category><![CDATA[Redis]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/b1286a1ed5d8a4fe1ad576d3.html</guid>
</item>

<item>
        <title><![CDATA[Go语言源码的一个改动]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/632cb0ef0c16341cfcfa3c66.html]]></link>
        <description><![CDATA[
		
		我昨晚和朋友回家的路上还说:应该给大学生开计算机历史,反正教计算机也不爱听,不如讲讲历史,可能会有点学的兴趣。<br>
<br>
2009年11月11日，光棍节，Google发布了Go语言，马上，就有网友在http://code.google.com/p/go/上找到了一个Go语言包文件操作源码/src/pkg/os/file.go文件的一个最新改动。这个改动的作者就是那个大名鼎鼎的Unix之父Ken Thompson，而这个改动的Log Message如下所示<br>
<span><img border="0" src="http://coolshell.cn/wp-content/uploads/2009/11/spell_it_with_e.jpg" small="0" class="blogimg"></span><br>
<p>这是一个很著名的典故，要知道这个典故，你需要知道两件事，一个是Ken Thompson的经典语录，一个是Unix的系统调用。</p>
<p> </p>
<p>关于Ken Thompson的经典语录，你可以在wikipdia上的<a target="_blank" href="http://en.wikiquote.org/wiki/Kenneth_Thompson">Ken Thompson</a>词条中找到，这个事情是这样的。</p>
<blockquote>
<p>Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: “<strong>I’d spell creat with an e.</strong>” （<span style="color: rgb(0, 128, 0);">Ken Thompson有一次在被问到——如果他可以重新设计Unix系统，他会做些什么不同的事？而他回答到：“我会把“creat”多拼一个e”</span>）</p>
</blockquote>
<p>“I’d spell creat with an e”，也就是说，他会把creat这个单词拼成<strong>creat</strong><span style="color: rgb(255, 0, 0);"><strong>e</strong><span style="color: rgb(0, 0, 0);">，而不是creat。为什么是creat呢，这需要我们来看一下creat这个系统调用，你可以在Unix或Linux下简单地<a target="_blank" href="http://linux.die.net/man/2/creat">man creat</a>你就可以知道，这个系统调用连带其某些参数，如：<strong>O_CREAT</strong>，都是一个少了“e”的create。（Unix下的有很多东西都是简写，如：usr，gp，ls，mv，ps，满大街的都是缩写）</span></span></p>
<p><span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">看看这个改动的<a target="_blank" href="http://code.google.com/p/go/source/diff?spec=svn1f0a01c93d305f1ab636c68b67346659c5b957f7&amp;r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f&amp;format=side&amp;path=/src/pkg/os/file.go&amp;old_path=/src/pkg/os/file.go&amp;old=50a1ee94151635c25ad76816044252af417a45b8">diff</a>——这个diff只有一行，第65行，抓屏如下（理由同上）</span></span></p>
<p style="text-align: center;"><span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);"><img width="487" height="79" alt="spell it with e  diff" src="http://coolshell.cn/wp-content/uploads/2009/11/spell_it_with_e_diff.jpg" title="spell it with e  diff" class="size-full wp-image-1763"></span></span></p>
<span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">40年后的今天，Ken Thompson参与Go语言设计，于是，他提交了这个改动，也算是圆了他的愿望，从这点看来，Ken Thompson把Go语言看得和Unix一样重啊。难道Go语言也会像Unix一样成为另一个传奇？<br>
<br>
</span></span>转载自:http://coolshell.cn/?p=1761<br> <a href="http://hi.baidu.com/icej/blog/item/632cb0ef0c16341cfcfa3c66.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/%C6%E4%CB%FB">其他</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/632cb0ef0c16341cfcfa3c66.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-12  21:25</pubDate>
        <category><![CDATA[其他]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/632cb0ef0c16341cfcfa3c66.html</guid>
</item>

<item>
        <title><![CDATA[某知名门户网站招聘互动产品相关领域产品人员]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/16a56ff0b0da21c97831aa85.html]]></link>
        <description><![CDATA[
		
		如题，待遇优厚，有兴趣，与我联系。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/%D5%D0%C6%B8">招聘</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/16a56ff0b0da21c97831aa85.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-03  22:39</pubDate>
        <category><![CDATA[招聘]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/16a56ff0b0da21c97831aa85.html</guid>
</item>

<item>
        <title><![CDATA[cacti批量导入主机 监控服务]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/16a56ff0affdd2c97831aaa4.html]]></link>
        <description><![CDATA[
		
		cacti的加主机及监控服务...繁琐...加一台机器点鼠标也很累...之前自己按照数据库,写了脚本可以批量加主机...但是要对主机增加监控的服务...实在搞不定了....要操作的表太多了。<br>
昨天发现cacti官方文档上有介绍如何批量增加服务器的....详细见:http://www.cacti.net/downloads/docs/html/cli_add_graphs.html<br>
<br>
官方的源码包中cli目录带php的操作脚本,执行脚本传入参数就可以加主机 服务,查询支持的模版的信息。<br>
大体操作过程:<br>
1.首先执行php &#160; add_device.php增加一台主机,在这里设置snmp参数主机默认模版,默认模版可以随意,<br>
2.执行php add_graphs.php --list-graph-templates获得可以增加的监控图<br>
3.执行php add_graphs.php --list-snmp-queries 和 --list-query-types --list-snmp-fields --list-snmp-values几个参数一步一步查询要增加的data query需要哪些模版,字段<br>
4.在执行php add_graphs.php --host-id= --graph-type=cg --graph-template-id= 和php &#160; add_graphs.php --host-id=&#160; --graph-type=ds&#160; --graph-template-id= --snmp-query-id= --snmp-query-type-id=&#160; --snmp-field=s --snmp-value=分别增加监控图和data query,如果data query对应一个图有多个snmp字段要增加,执行多次<br>
5.最后执行php add_tree.php加菜单<br>
<br>
我写了一个PHP脚本读取Ip列表根据制定的产品线名称,监控服务类型来批量操作cacti的这3个命令,如果哪位需要可以试试。<br>
示例:<br>
php xpdinitcacti.php -f server.txt -t linux -p xpd -g mysql<br>
-f Ip列表,一行一个ip<br>
-t 相当于主机模版的别名,主机使用linux模版,linux模版对应的主机id号,用--list-graph-templates获得,记id号不容易,记别名就容易多了<br>
-p 产品线名称前缀,产生的主机名称就会是:产品线名称-服务-ip<br>
-g 监控的服务,自己定义的服务别名,对应了一堆自己可用的监控服务模版Id号,比如mysql代表几个mysql监控服务常用的模版<br>
<br>
下载地址http://code.google.com/p/cacti-add-device-script/downloads/list<br>
<br>
1.首先在我的脚本中增加需要固定添加的主机模版对应id号,监控服务类型对应的要增加那些监控服务的id号。<br>
<br>
$config=array(&quot;host_type&quot;=&gt;array(&quot;linux&quot;=&gt;&quot;8&quot;,&quot;db&quot;=&gt;&quot;9&quot;),//主机模版对应的id号 <br>
&quot;host_templates&quot;=&gt;array(&quot;snmp_community&quot;=&gt;&quot;111&quot;,&quot;snmp_version&quot;=&gt;2,&quot;snmp_port&quot;=&gt;161,&quot;snmp_timeout&quot;=&gt;500),//snmp配置信息<br>
&quot;tree&quot;=&gt;array(&quot;xpd&quot;=&gt;8,//菜单名称对应的id号<br>
&quot;type&quot;=&gt;&quot;node&quot;,&quot;node-type&quot;=&gt;&quot;host&quot;),<br>
&quot;graph_templates&quot;=&gt;array(<br>
&quot;normal&quot;=&gt;array(//默认监控服务模版<br>
&quot;cg&quot;=&gt;array(4,13),//list-graph-templates获得的监控模版id号,这里是cpu和load average<br>
&quot;ds&quot;=&gt;array(//data query的信息<br>
array(&quot;graph-template-id&quot;=&gt;33,&quot;snmp-query-id&quot;=&gt;1,&quot;snmp-query-type-id&quot;=&gt;13,&quot;snmp-field&quot;=&gt;&quot;ifOperStatus&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Up&quot;,<br>
),<br>
array(&quot;graph-template-id&quot;=&gt;21,&quot;snmp-query-id&quot;=&gt;6,&quot;snmp-query-type-id&quot;=&gt;15,&quot;snmp-field&quot;=&gt;&quot;dskMount&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;/&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;21,&quot;snmp-query-id&quot;=&gt;6,&quot;snmp-query-type-id&quot;=&gt;15,&quot;snmp-field&quot;=&gt;&quot;dskMount&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;/backup&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;21,&quot;snmp-query-id&quot;=&gt;6,&quot;snmp-query-type-id&quot;=&gt;15,&quot;snmp-field&quot;=&gt;&quot;dskMount&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;/boot&quot;,),<br>
)<br>
),<br>
&quot;normal2&quot;=&gt;array(<br>
&quot;cg&quot;=&gt;array(4,13),<br>
&quot;ds&quot;=&gt;array(<br>
array(&quot;graph-template-id&quot;=&gt;33,&quot;snmp-query-id&quot;=&gt;1,&quot;snmp-query-type-id&quot;=&gt;13,&quot;snmp-field&quot;=&gt;&quot;ifOperStatus&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Up&quot;,<br>
),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;/&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;/boot&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Cached memory&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Memory buffers&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Physical memory&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Swap space&quot;,),<br>
array(&quot;graph-template-id&quot;=&gt;26,&quot;snmp-query-id&quot;=&gt;8,&quot;snmp-query-type-id&quot;=&gt;18,&quot;snmp-field&quot;=&gt;&quot;hrStorageDescr&quot;,<br>
&quot;snmp-value&quot;=&gt;&quot;Virtual memory&quot;,),<br>
)<br>
),<br>
&quot;mysql&quot;=&gt;array(),<br>
),<br>
); <a href="http://hi.baidu.com/icej/blog/item/16a56ff0affdd2c97831aaa4.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/nagios%26%2338%3Bcacit">nagios&#38;cacit</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/16a56ff0affdd2c97831aaa4.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-28  23:58</pubDate>
        <category><![CDATA[nagios&#38;cacit]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/16a56ff0affdd2c97831aaa4.html</guid>
</item>

<item>
        <title><![CDATA[Unable to parse base from /usr/lib/vmware/libconf/etc/pango/pangorc]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/2171143b9116a3e014cecbfc.html]]></link>
        <description><![CDATA[
		
		今天重启vmware.....由于这厮重启实在太慢...大概系统当时很忙吧...直接kill了。。随后在重启就提示需要vmware-config.pl重新配置，执行则提示:Unable to parse base from /usr/lib/vmware/libconf/etc/pango/pangorc<br>
......没找到解决的办法...折腾许久...想起自己还有个机器上有vmware,安装方法一样,看下这个文件什么情况。原来是配置信息...直接复制过来。<br>
如果有朋友也遇到这个文件损坏，只要你是rpm按照的，你就可以复制我的信息到这个文件，然后执行vmware-config.pl重新配置。<br>
<br>
[Pango]<br>
ModuleFiles = /usr/lib/vmware/libconf/etc/pango/pango.modules<br>
<br>
[PangoX]<br>
AliasFiles = /usr/lib/vmware/libconf/etc/pango/pango/pangox.aliases <a href="http://hi.baidu.com/icej/blog/item/2171143b9116a3e014cecbfc.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/Vmware">Vmware</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/2171143b9116a3e014cecbfc.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-21  22:55</pubDate>
        <category><![CDATA[Vmware]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/2171143b9116a3e014cecbfc.html</guid>
</item>

<item>
        <title><![CDATA[某外企招聘PHP高级工程师]]></title>
        <link><![CDATA[http://hi.baidu.com/icej/blog/item/a6f1a7517cd5e312377abea5.html]]></link>
        <description><![CDATA[
		
		某外企：互联网控制管理设备与服务提供商，招聘高级PHP工程师,要求如下,工作地点北京 中关村。薪水面谈。有兴趣邮件我。谢谢。<br>
<br>
高级PHP开发工程师<br>
职位描述：<br>
1、作为主要开发人员参与公司产品系统设计，独立负责主要模块的功能详细设计<br>
2、负责代码编写，相关测试及编写相关技术文档<br>
职位要求<br>
1、计算机相关专业本科以上学历，至少2年以上Web开发经验；<br>
2、熟练掌握LAMP架构下的开发；<br>
3、精通PHP语言，精通JavaScript, AJAX，JSON，XML等Web相关技术；<br>
4、熟悉http协议,了解一定网络安全知识<br>
5、具有SQL数据库索引优化、查询优化和存储优化经验,具有搜索引擎优化经验<br>
6、具备良好的代码编程习惯及较强的文档编写能力；<br>
7、有良好的沟通、表达、项目分析能力，设计能力；有团队合作精神；<br>
8、出色的工作责任心、团队沟通管理能力和敬业精神，能够适应高强度工作。 <a href="http://hi.baidu.com/icej/blog/item/a6f1a7517cd5e312377abea5.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/icej/blog/category/%D5%D0%C6%B8">招聘</a>&nbsp;<a href="http://hi.baidu.com/icej/blog/item/a6f1a7517cd5e312377abea5.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-20  08:53</pubDate>
        <category><![CDATA[招聘]]></category>
        <author><![CDATA[icejmx]]></author>
		<guid>http://hi.baidu.com/icej/blog/item/a6f1a7517cd5e312377abea5.html</guid>
</item>


</channel>
</rss>