咨询file缓存的并发。

现在我用yii做的站,用的file类型缓存,缓存的策略是。首页片断缓存。如果model有改变,则删除首页的片段缓存(无依靠缓存)。

目前这个站,客户使用发现网站速度有时很慢有时快,而且服务器(操作系统win2000,wamp)远程登陆后,操作系统的操作也很慢,请问和文件缓存有关系吗? 假设几个人都修改了model,同时有几十个人访问首页,因为首页的缓存被删除了,这时候首页需要再生成 这里会不会卡死?

你说操作系统的操作也很慢是什么意思?CPU占用率很高?你有没有在本地机上用测试过你的网站的性能么,包括并发测试?

另外,你的网站的访问流量怎样?

cpu占用率不高;但用鼠标点击东西反应比较慢;

网站的性能测试我不怎么会,教教我;

网站的访问流量不大,有可能10多个用户在线发布信息,几十个用户在线流量。一天也就100多人来访问。

生成的sql,我贴一下。




程序日志

时间	等级	类别	信息

09:42:11.148529	trace	system.db.CDbConnection	Opening DB connection

09:42:11.153124	trace	system.db.CDbCommand	Querying SQL: SELECT save_name, save_value FROM _core_pcounter_save

09:42:11.154694	trace	system.db.CDbCommand	Executing SQL: INSERT INTO _core_pcounter_users VALUES ("'127.0.0.1'", 1260409331) ON DUPLICATE KEY UPDATE user_time=1260409331

09:42:11.242202	trace	system.db.CDbCommand	Querying SQL: SELECT COUNT(user_ip) AS user_count FROM _core_pcounter_users

09:42:11.242599	trace	system.db.CDbCommand	Querying SQL: SELECT COUNT(user_ip) AS user_count FROM _core_pcounter_users WHERE user_time>=1260408731

09:42:11.267788	trace	system.db.CDbCommand	Querying SQL: SHOW COLUMNS FROM `_web_article`

09:42:11.275968	trace	system.db.CDbCommand	Querying SQL: SHOW CREATE TABLE `_web_article`

09:42:11.287513	trace	system.db.CDbCommand	Querying SQL: SHOW COLUMNS FROM `_web_category`

09:42:11.293850	trace	system.db.CDbCommand	Querying SQL: SHOW CREATE TABLE `_web_category`

09:42:11.294601	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:11.295104	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=2 and littlePic is not null and littlePic<>'') ORDER BY startPublishDate desc,_web_article.id desc LIMIT 6

09:42:12.865472	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:12.865937	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=2) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 9

09:42:14.680497	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:14.680953	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=24) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 3

09:42:14.701922	trace	system.db.CDbCommand	Querying SQL: SELECT COUNT(id) AS article_count,department FROM _web_article GROUP BY department order by COUNT(id) desc limit 0,10

09:42:15.836380	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:15.836859	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=3) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 10

09:42:17.43869	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:17.44322	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=4) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:17.745074	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:17.745577	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=5) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:17.755516	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:17.755973	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=6) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:17.758294	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:17.758760	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=7) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:19.315152	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:19.315655	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:19.324640	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:19.325100	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=9) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:19.330777	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:19.331234	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=10) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:19.711750	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:19.712233	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=11) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 5

09:42:20.19850	trace	system.db.CDbCommand	Querying SQL: SHOW COLUMNS FROM `_general_duty`

09:42:20.25532	trace	system.db.CDbCommand	Querying SQL: SHOW CREATE TABLE `_general_duty`

09:42:20.26009	trace	system.db.ar.CActiveRecord	Duty.find()

09:42:20.26187	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `_general_duty` WHERE date=:date LIMIT 1. Bind with parameter :

09:42:20.43194	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:20.43668	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=12) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 9

09:42:21.397527	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:21.397984	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=13) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 9

09:42:21.487828	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:21.488282	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=14) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 9

09:42:21.730943	trace	system.db.ar.CActiveRecord	Article.findAll() eagerly

09:42:21.731426	trace	system.db.CDbCommand	Querying SQL: SELECT `_web_article`.`id` AS `t0_c0`, `_web_article`.`accessLevel` AS `t0_c1`, `_web_article`.`alias` AS `t0_c2`, `_web_article`.`author` AS `t0_c3`, `_web_article`.`color` AS `t0_c4`, `_web_article`.`content` AS `t0_c5`, `_web_article`.`createIp` AS `t0_c6`, `_web_article`.`createTime` AS `t0_c7`, `_web_article`.`createUser` AS `t0_c8`, `_web_article`.`department` AS `t0_c9`, `_web_article`.`description` AS `t0_c10`, `_web_article`.`finishPublishDate` AS `t0_c11`, `_web_article`.`hits` AS `t0_c12`, `_web_article`.`isHtml` AS `t0_c13`, `_web_article`.`isRedirect` AS `t0_c14`, `_web_article`.`isSign` AS `t0_c15`, `_web_article`.`keywords` AS `t0_c16`, `_web_article`.`littlePic` AS `t0_c17`, `_web_article`.`make` AS `t0_c18`, `_web_article`.`mark` AS `t0_c19`, `_web_article`.`money` AS `t0_c20`, `_web_article`.`region` AS `t0_c21`, `_web_article`.`revised` AS `t0_c22`, `_web_article`.`source` AS `t0_c23`, `_web_article`.`startPublishDate` AS `t0_c24`, `_web_article`.`state` AS `t0_c25`, `_web_article`.`title` AS `t0_c26`, `_web_article`.`updateTime` AS `t0_c27`, `_web_article`.`category_id` AS `t0_c28`, category.`id` AS `t1_c0`, category.`class_` AS `t1_c1`, category.`createIp` AS `t1_c2`, category.`createTime` AS `t1_c3`, category.`createUser` AS `t1_c4`, category.`defaultPage` AS `t1_c5`, category.`htmlDir` AS `t1_c6`, category.`isContribute` AS `t1_c7`, category.`isHide` AS `t1_c8`, category.`level` AS `t1_c9`, category.`lft` AS `t1_c10`, category.`list` AS `t1_c11`, category.`name` AS `t1_c12`, category.`order_` AS `t1_c13`, category.`permit` AS `t1_c14`, category.`property` AS `t1_c15`, category.`rgt` AS `t1_c16`, category.`templete` AS `t1_c17`, category.`updateTime` AS `t1_c18`, category.`parent_id` AS `t1_c19` FROM `_web_article` LEFT OUTER JOIN `_web_category` category ON (`_web_article`.`category_id`=category.`id`) WHERE (1=1 and category_id=15) ORDER BY startPublishDate desc,_web_article.id desc LIMIT 9

09:42:22.321603	trace	system.db.CDbCommand	Querying SQL: SHOW COLUMNS FROM `_core_user`

09:42:22.328428	trace	system.db.CDbCommand	Querying SQL: SHOW CREATE TABLE `_core_user`

09:42:22.329013	trace	system.db.ar.CActiveRecord	User.findAll()

09:42:22.329214	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `_core_user` WHERE month(birthday)=? and day(birthday)=? ORDER BY order_ asc. Bind with parameter 1='12', 2='10'

你这是一次页面请求的日志?为什么会有这么多重复的SQL呢?另外,你好像没有打开schema caching?

性能测试你可以使用apache自带的ab命令。例如:ab -n 1000 -c 10 http://localhost/index.php

文件缓存比较适用于缓存单个比较大的数据,比如一整个页面。对于片段缓存或其他小数据缓存,你应该考虑apc, xcache或memcache。Yii是允许你同时使用若干种不同的cache的。

这是一整页的sql,里面没有重复的sql的。注意,category_id不一样。

schema caching 这里没打开,服务器打开了。

如果不存在缓存重新生成或者从数据库读取数据,网站的速度是满意的。这样的话

ab -n 1000 -c 10 http://localhost/index.php 好像看不出什么?

我试试看用别的缓存策略。