MySQL表现优化-教训
支持这博客的MySQL数据库消耗大量CPU,有效地带领选址沿着走3-4次这个星期。 我认识一名明显的罪犯。 然而现实不同。
我知道我有一段时间了有一次超大询问,未贮藏,并且可能造成MySQL服务器装载:
精选的cat_ID,作为类别,算作是的cat_name (*) ‘计数’
从$wpdb->categories, $wpdb->post2cat, $wpdb->posts
那里cat_ID = category_id和
category_nicename! = ‘标题’和ID = post_id和
post_status = ‘出版’
由cat_name的小组
有计数(*) > 10
由‘计数’ DESC的命令
极限0, 10
我不可能看一个明显的方式优选此不遏制功能。 万一您wondeering替代category_nicename! = ‘标题’与cat_ID = 37不帮助。
我也考虑使用 慢询问日志 精确定位问题。 幸运地未需要他们都。 我从友好的WestHost高装载 支持 得到了电子邮件。 Jonny通过充分一再跑‘展示发现了PROCESSLIST; ’罪犯是:
选择分明cat_ID, cat_name
从st_categories, st_post2cat
由category_nicename的命令;
这使我大吃一惊。 Th询问作为任何地方在3-5秒之间。 在与是足够好超载服务器的多个同时请求的高装载。 解答是看上去简单的:
选择分明cat_ID, cat_name
从st_categories
由category_nicename的命令;
原始的询问是重复和大手大脚的。 最初我打算显示与一个或更多岗位的仅类别在他们。 某处在线下我忘记增加条目的地方。 今天所有我的类别有岗位。 那么去除st_post2cat从从名单是足够好给0.01秒减少执行时间。
实得工资的教训是:
- 不要猜测瓶颈询问; 发现它。
- 象“展示充分的处理名单的”简单的工具经常是象明确一样,艰苦分析象慢询问日志的工具。
- 有从您的网络主持 提供者的好支持 不伤害
归档在 CMS软件之下, 数据库, 标题新闻, 怎么对, 赞成Blogging, RDBMS, 技术笔记, 网, WordPress |
|
RSS 2.0 |
给这篇文章发电子邮件
您可以也喜欢读 |


增加到Technorati喜爱

2006年5月10日在2:22上午
你好,
我的wordpress crashied我半热忱的服务器由于高CPU装载。
因此我安装了插入式的WP贮藏所并且发现了这博客。 我请求我webhosting的admin做这优化和这什么他写了我:
我检查了所有您的文件文本“选择分明cat_ID”,并且找不到比赛。
我也检查了“精选的cat_ID,作为类别,计数的cat_name (”和找不到比赛。
我也检查了“st_post2cat”并且找不到它,因此他们也许跑代码的一个不同的版本。
我想知道您是否可能帮助我关于这个问题。 BTW,我是连续wordpress 2.0.2
谢谢在您的时间…您能回复此我的电子邮件。
问候,
Paulus
2006年5月10日在6:20上午
代码指定了只为例。 它是在插入式我为这博客写了。 您不会在普通wordpress设施发现它。 然而,如果您有一高度被评论的博客您可以受益于这个 wp贮藏所优化技术。
2006年6月23日在4:08 pm
我也是在Westhost和工作与象Jonny的人解决我的博客问题找到方法。 我也使用WP贮藏所,但是我的博客现在消耗4.52%从我的VPS的整个服务器。 Ia m不一样技术象您,因此我们有缓步,但是我将张贴我发现的所有解答。
Tks!