<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.1" -->
<rss version="0.92">
<channel>
	<title>hihiyou</title>
	<link>http://www.hihiyou.com</link>
	<description>又一个该死的博客</description>
	<lastBuildDate>Thu, 17 Jun 2010 15:44:05 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>file_get_contents获取网页可能会使CPU飙升至100%</title>
		<description><![CDATA[在管理一台服务器时发现CPU经常跑满,排查至某php文件中利用file_get_contents获取网页的函数,服务器对目标地址的访问速度很差,使用file_get_contents获取目标地址时,常常卡住,这个时候CPU使用率就到了100%,还不能释放!!由于是多线程的应用,服务器负载跑到很高.
利用stream_context_create函数为file_get_contents加上了超时限制,也不管用,只有放弃file_get_contents&#8230;
自己用fsockopen写了个简单的模拟Get操作,就没有问题了,虽然对目标地址的访问速度还是很糟糕,但是对CPU的影响已经正常了,还得加上超时处理!
最后简单的换成curl系列函数,效率高,设置超时也方便:

$curlHandle = curl_init();
curl_setopt( $curlHandle ,]]></description>
		<link>http://www.hihiyou.com/?p=167</link>
			</item>
	<item>
		<title>Sphinx在电子商务网站中的应用(5)-总结及优化</title>
		<description><![CDATA[这几篇blog,没想过写成手把手的教程,只是想把思路写出来,和大家交流,所以流水账了&#8230;代码都是些关键片段,不负责它正常运行!
基础方面的请到Sphinx官方站查看文档,非常详细!
谈几点优化方面的建议:
1.Sphinx自带PHP API和使用C写的PHP扩展相比,速度快了不少,应该是网络通讯方面的问题.觉得这应该是不正常的,但是问题我还没找到.也有可能是个别问题.
2.一个页面要是有多个Sphinx查询请求,请使用AddQuery方法,尽量收集,一次发送,一个接收.
3.AddQuery添加Query的条数有限制,应该是32条这样,我以前提到过.
4.做好cache!
]]></description>
		<link>http://www.hihiyou.com/?p=153</link>
			</item>
	<item>
		<title>Sphinx在电子商务网站中的应用(4)-即时更新方案</title>
		<description><![CDATA[5.即时更新方案
使用了Sphinx代替了Mysql进行查询后,最大的问题还在于数据的更新问题:我们在后台进行了产品的编辑,删除,添加操作,都需要尽快的反应到用户端.
架构图:

说明:
(1).在Mysql中建立一个增量表,凡是产品更新操作(添加,修改,删除),都会将相关ID更新到到增量表;表结构很简单,只记录ID.
(2).修改Sphinx的配置文件

sql_query = SELECT id, name,]]></description>
		<link>http://www.hihiyou.com/?p=139</link>
			</item>
	<item>
		<title>Sphinx在电子商务网站中的应用(3)&#8211;查询</title>
		<description><![CDATA[Sphinx自带的PHP的API进行查询。
示例1：
编号为1,2,3,4,5的5个分类下的产品列表

$Sphinx->SetFilter( 'category_id', array(1,2,3,4,5) );
$Sphinx->Query( '',]]></description>
		<link>http://www.hihiyou.com/?p=133</link>
			</item>
	<item>
		<title>Sphinx在电子商务网站中的应用(2)&#8211;索引结构配置</title>
		<description><![CDATA[Sphinx配置文件
贴出主要部分，其他的手册上说的很清楚了。

source product_src
{
	type					= mysql

	sql_host				= 127.0.0.1
	sql_user				= root
	sql_pass				=]]></description>
		<link>http://www.hihiyou.com/?p=130</link>
			</item>
	<item>
		<title>Sphinx在电子商务网站中的应用(1)-分析与思路</title>
		<description><![CDATA[实际项目的特点是：
1.数据量大
2.商品分类多
3.每个商品可以处于多个分类下
4.平均每个商品拥有2个以上的属性
要求可以做到：
1.按照商品名称搜索
2.按照商品属性筛选
3.按照分类筛选
4.按照价格分组筛选
5.按照价格、时间排序
MySQL基本数据结构：

product表
    id
]]></description>
		<link>http://www.hihiyou.com/?p=123</link>
			</item>
	<item>
		<title>sphinx一次请求的最大query数限制</title>
		<description><![CDATA[一般来说,在sphinx里面,如果一个应用,需要多条查询的话的,最好是使用AddQuery方法依次加入所有查询,然后再使用RunQueries方法返回结果;好处是节约了网络IO,而且sphinx也会在内部优化这些查询,效率上来讲,肯定要比多次Query要好很多.
在测试中发现,AddQuery的次数不是无限的,经过测试,最大查询条数应该是32条,也就是,只能用AddQuery加入不超过32条查询,超过这个数量,返回的结果就会出错了.
手册上我没有发现这点,也没有在配置文件发现有可以设置更大的同时query数.
]]></description>
		<link>http://www.hihiyou.com/?p=95</link>
			</item>
	<item>
		<title>Debian linux安装redmine流水笔记</title>
		<description><![CDATA[开始装的是最新的0.9.x,按照官方教程,出了一些问题,google也无解,估计是环境的问题,毕竟对ruby还是很陌生的,换成0.8.7后就很顺利的完成了安装.
redmine基于ruby on rails开发,所以装之前,首先装好ROR的环境以及其他的一些工具包:

apt-get install rubygems
gem]]></description>
		<link>http://www.hihiyou.com/?p=91</link>
			</item>
	<item>
		<title>IE6下JS动态插入的HTML代码中的图片无法显示</title>
		<description><![CDATA[再次被IE6折服&#8230;娇羞的IE6&#8230;
当时情况是这样的,有链接:


&#60;a href=&#34;javascript:void(0)&#34; id=&#34;add_image&#34;&#62;Add Image&#60;/a&#62;

有JS(Jquery):

$('#add_image').click(function(){
	$('#image_box').append('&#60;div&#62;&#60;img src=&#34;xxx.gif&#34;&#62;&#60;/div&#62;');
});

结果就是插入的这个xxx.gif]]></description>
		<link>http://www.hihiyou.com/?p=86</link>
			</item>
	<item>
		<title>php的sphinx extension安装及测试</title>
		<description><![CDATA[可以在pecl下载:
http://pecl.php.net/package/sphinx
安装也简单,解压,然后进入源文件目录,执行:
/opt/php/bin/phpize
然后
./configure &#8211;with-php-config=/opt/php/bin/php-config
make
make install
/opt/php为你的php安装目录.
完成后,将extendsion = &#8217;sphinx.so&#8217;]]></description>
		<link>http://www.hihiyou.com/?p=84</link>
			</item>
</channel>
</rss>
