几万篇文章的网站,如何从慢如蜗牛变成兔子般响应?
背景
建立了一个博客,发表了3.8万篇文章。
随着数据条数的增多,尤其是搜索的时候,发现搜索时灵时不灵,很久都没有反应。
后面在wordpress中footer.php页面下加入这一句,可以显示mysql加载的速度和耗时。 <?php echo get_num_queries();?>次加载共计耗时<?php timer_stop(1);?>秒
搜索关键词之后,发现用时居然快一分钟了,慢成蜗牛了,实在不能忍了。 18次加载共计耗时52.783秒
通过下面的方法,让网站变成兔子一样迅速。
架设个人博客网站、企业门户都可以使用ECS。如果其网站如个人博客主要面向国内用户访问,为加快速度还是建议选用国内的服务器商。
[阿里云域名] (https://wanwang.aliyun.com/domain/com/?userCode=yos4xyvp)连接,
[阿里云服务器ECS] (https://www.aliyun.com/minisite/goods?userCode=yos4xyvp) 链接为什么选择阿里云以前域名注册一般选老牌域名服务商,其中万网已经被阿里收购到旗下了。提供域名备案服务。备案业务还是很贴心的。提交完备案信息之后,第二天阿里云小姐姐会帮你免费形式审查一下,还会主动打电话过来帮助校正。如果是自己动手提交备案信息给ICP备案机构,万一因为低级错误被驳回就浪费了十天左右时间。域名ICP备案需要服务器,阿里云也提供服务器购买,一条龙服务嘛。服务器在阿里云毕竟服务器才是支出大头,域名什么的都是小意思了。而且购买完服务器之后,还会有客服主动打电话过来询问使用情况,需不需要技术支持,还是挺不错的。阿里云服务器购买新用户有优惠,最基础的话一年下来不超过100元。如果是本科生的话免费使用的。备案完成之前,服务器不算租赁时间。比如说3月1日我购买了一年的服务器,域名提交备案。18日域名备案审核通过。服务器租赁时间重新按18日算起,即可以用到第二年3月18日。相当于免费多用几天。占了一点小便宜。 限定搜索标题
搜索发现关键词发现返回一两万条结果。
才了解到搜索不仅仅是搜索标题,还包括正文内容。
其实我在这里并不需要搜索正文内容,修改PHP代码,限定只搜索标题,将下面的代码添加到主题的 functions.php 文件即可 /** * 让 WordPress 只搜索文章的标题 * https://www.wpdaxue.com/search-by-title-only.html */ function __search_by_title_only( $search, &$wp_query ) { global $wpdb; if ( empty( $search ) ) return $search; // skip processing - no search term in query $q = $wp_query->query_vars; $n = ! empty( $q["exact"] ) ? "" : "%"; $search = $searchand = ""; foreach ( (array) $q["search_terms"] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}($wpdb->posts.post_title LIKE "{$n}{$term}{$n}")"; $searchand = " AND "; } if ( ! empty( $search ) ) { $search = " AND ({$search}) "; if ( ! is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = "") "; } return $search; } add_filter( "posts_search", "__search_by_title_only", 500, 2 );对MySQL的wp_posts表中post_title增加索引
这样加快对标题搜索。 安装Memcached插件
在bt面板里勾选这个插件,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。 清理WordPress中MySQL数据库垃圾数据
数据库的垃圾数据主要存在 wp_posts 、 wp_postmeta 、 wp_commetns 、 wp_commentmeta 和 wp_options
具体可以搜索"介绍使用WordPress时10个常用的MySQL查询"等内容。
关于Wordpress中数据表关系如下
数据表
存储的数据
关联到
wp_posts
文章、页面、附件、版本、导航菜单项目
wp_postmeta (通过post_id关联)
wp_postmeta
每个文章的元数据
wp_posts (通过 post_id关联)
wp_term_relationships
文章和自定义分类法之间的关系
wp_posts (通过 post_id 关联) wp_term_taxonomy (通过term_taxonomy_id 关联)
wp_term_taxonomy
自定义分类法(包括默认的分类目录和标签)
wp_term_relationships(通过 term_taxonomy_id关联)
wp_terms
关联到分类法中的分类目录,标签和自定义分类项目
wp_term_taxonomy (通过term_id 关联) wp_posts
因为 wp_posts 会保留文章修订版本,即发布一篇文章,在数据库里是有两条的数据的。
删除文章修订版本 DELETE FROM wp_posts WHERE post_type = "revision";
wp 媒体管理器上传图片的时候同时会生成 attachment 文章格式,如果你不需要根据这个检索图片的话也可以删掉。 DELETE FROM wp_posts WHERE post_type = "attachment";wp_postmeta
这里是重灾区,可以执行以下命令 DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"; DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"; DELETE FROM wp_postmeta WHERE meta_key = "_revision-control"; DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts); DELETE FROM wp_postmeta WHERE meta_key = "_wp_old_slug"; DELETE FROM wp_postmeta WHERE meta_key = "_revision-control"; DELETE FROM wp_postmeta WHERE meta_value = "{{unknown}}";
如果你不需要管理你的多媒体文件可以使用下面这两句 DELETE FROM wp_postmeta WHERE meta_key = "_wp_attached_file"; DELETE FROM wp_postmeta WHERE meta_key = "_wp_attachment_metadata";
综合到一起可直接执行下面两句 DELETE FROM wp_postmeta WHERE meta_key in ("_edit_lock", "_edit_last", "_wp_old_slug", "_revision-control", "{{unknown}}", "_wp_attached_file", "_wp_attachment_metadata"); DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);wp_comments
删除所有垃圾评论 DELETE FROM wp_comments WHERE comment_type = "trash";
删除所有待审评论 DELETE FROM wp_comments WHERE comment_approved = "0";wp_commentmeta
一般来说直接删掉这个表就可以了,如果你使用了 commentmeta 存储信息请谨慎执行此句 TRUNCATE TABLE `wp_commentmeta`;wp_options
尤其是使用网易云音乐,都会在 wp_options 表中产生大量垃圾数据。 DELETE FROM wp_options WHERE option_name LIKE "_transient_%"; DELETE FROM wp_options WHERE option_name LIKE "_transient_timeout_%";
这样会删除所有临时数据,包括未过期的,谨慎使用。
通过以上设置,现在几万条的搜索,不到1秒的响应,效率极大的提高。
1毛未落袋,快递价难涨一涨派费涨了个寂寞自8月底微快运刊出三通百世涨派费,快递止战升级?之后,还陆续转载了多篇文章,各地的末端网点与快递小哥纷纷留言,他们表示没涨根本没有看到那1毛钱文章留言截图还有的表
如何更快的买到首发iPhone13系列苹果官网抢购攻略9月17日晚8点iPhone13系列四款机型就开始了预购,那么如何抢到9月24日的首发呢?下面就来教大家苹果官网抢购攻略,准备入手的小伙伴们快来看看吧。抢购攻略1。提前准备为了能成
再投7亿元!华为第三家超聚变公司成立资料图2020年9月15日这一天,是美国下发的对华为芯片管制升级令正式生效的日子。也就是从这一天起,华为手机开始陷入了无芯可用的局面。芯片断供,手机受阻,市场份额也已跌出前五如今的
苹果手机一般多久换电池?换一次电池多少钱?苹果手机一般三年左右换一次电池,电池平均价格在150元左右。苹果手机不同的型号,不同的使用习惯与频率,使得更换电池的频率也不同,并且不同的地方,更换电池的价格也不一样,以上数据,是
铃木死也不向中国妥协!极狐为国人造长续航电动车,3。5S破百铃木修我就是死,也不会向中国市场妥协!新能源车该有的样子这句霸气的豪言出自铃木品牌CEO铃木修先生,本在中国汽车市场混得风生水起的铃木品牌,逐渐发觉自己造小车的理念和中国人喜欢大车
创新工场李开复谈人工智能未来潜存四大危险将夺走更多就业机会来源金融虎APP作者金泽美东时间9月15日,创新工场CEO李开复与雅虎财经总编辑安迪塞威尔(AndySerwer)在影响者对话中一起解释了人工智能的四大危险,并一起讨论了机器人技术
极米科技国内家用投影电视龙头,增长潜力巨大值得期待独立客观第三方研究,为您筛选优质上市公司证券代码688696综合评级AA一主营业务评分801业务分析公司是一家以设计与制造智能投影产品为主的企业,同时为消费者提供投影机配件产品和互
汽车大观新能源汽车大变革抢位战进入下半场一场电动化智能化的狂飙浪潮,正在横扫全球汽车产业,洗牌,颠覆变革,创新正成为当下最为突出的关键词。在新能源赛道上,比亚迪吉利上汽长安长城广汽等企业早已布局,国内造车新势力也是你追我
透视阿里女员工事件企业价值观是一把手工程尚未尘埃落定的济南饭局事件,让阿里遭受了网友们的集体口诛笔伐,好好一个笑傲江湖的武林盟主,快给弄成了东邪西毒。不少人开始悲观的断言,曾经阿里人所骄傲,外人所敬仰的阿里企业价值观,已
比亚迪汉,新能源汉EV的隔音表现令人印象深刻,双层隔音玻璃的加持,再加上安静的电机,整个车在深夜行驶的时候,除了轻微电流声以外,几乎没有其他的噪音,车内非常安静,整个车像是无声的贴地飞行。相比很多
美团饿了么头疼让骑手注册个体户,为何人人喊打?前言(本文配图来均来自于网络,如有版权侵权,请联系删除)9月14日,美团在官方微信重申严禁诱导和强迫骑手注册成为个体工商户的说明9月15日,阿里系的饿了么在官方微博说饿了么禁止以任