本文目录:
- 1、wordpress 源代码中内嵌了一些无法访问的url拖累访问速度
- 2、怎样让wordpress运行更快
- 3、如何在WordPress后台直接优化MySQL数据库
- 4、如何提高wordpress速度
- 5、wordpress 源代码中内嵌了一些无法访问的url拖累访问速度?
- 6、wordpress百万级数据如何优化数据库
wordpress 源代码中内嵌了一些无法访问的url拖累访问速度
数据库也是影响 WordPress 运行速度重要的因素之一,频繁调用、查询数据库会拖累网站整体的加载速度。今天大挖结合自己的实践操作来
优化一些 WordPress 数据库不必要的查询次数。希望可以帮助到大家有效提升博客的速度。
先给大家分享一段可以在wordpress主题底部显示当前运行时 WordPress 数据库查询次数和内存使用情况的代码:
1
2
3
4
5
6
7
8
9
10
//显示数据库查询次数、查询时间及内存占用的代码
function performance( $visible = false ) {
$stat = sprintf( '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo $visible ? $stat : "" ;
}
add_action( 'wp_footer', 'performance', 20 );
上面的代码,直接放到主题function.php里即可。
优化WordPress 数据库查询:首先需要在 WordPress 的wp-config.php里进行优化操作,具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
define('COOKIE_DOMAIN', '');
//设置地址而不是服务器检查,这将减少服务器查询
define('WP_HOME', '');
define('WP_SITEURL', '');
//优化文章修改历史:Post-Revisioning
define('AUTOSAVE_INTERVAL', 120);// 修改WordPress 编辑器自动保存时间间隔为120秒保存一次
define('WP_POST_REVISIONS', 5);//仅保留保留5个最近修改,也可以减小此数字,但不能太低了
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站,这个自己根据情况设定
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率
//通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。
define('TEMPLATEPATH', '/wp-content/themes/wa');
define('STYLESHEETPATH', '/wp-content/themes/wa');
如果你没有使用缓存插件,开启WP自带的缓存(Cache)功能,并设置缓存时间,是非常必要的事情。
1
2
3
define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能
define('ENABLE_CACHE', true); // 缓存开关
define('CACHE_EXPIRATION_TIME', 3600); // 缓存时间间隔
注:3.0后版本要开始缓存在/wp-includes/default-constants.php中开启,切记哦!
wordpress程序自身会经常向wordpress.com的服务器发送请求传送数据,我们可以通过设置wp-config.php来屏蔽此类外部请求的发送,在wp-config.php添加如下代码:
1
2
//禁止WordPress程序发出对外请求
define('WP_HTTP_BLOCK_EXTERNAL', true);
值得注意的是我们在加入以上代码后你的网站将无法对任何一个外部服务器发出请求,如果站长朋友们为了加速网站收录使用了ping功能,加上以上代码后ping功能将会失效。解决方法:我们可以设置对外请求白名单即可解决ping失效问题,代码如下:(以百度ping为例)
1
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');//仅允许 WordPress 向ping.baidu.com发送请求
通过 WordPress 的wp-config.php配置完后大家 可以用本文开头分享的代码在源代码里查看和对比一下是不是数据库查询次数和内存使用量有所改善。还有就是要养成提前备份的好习惯,否则后果自负了!
怎样让wordpress运行更快
WordPress加速已经不是什么新鲜话题了,曾在一站长论坛里看到一篇关于WordPress提速的文章,讲了很多的方法,用了一大堆插件,可能是想把WordPress加速做到极致吧。但读完后却是一头雾水,我觉得这样往往适得其反。
这里,我说一下个人感觉一些高效可行的方法:
一.图片加载延迟
即图片岁下拉滚动条依次显示,这样在很大程度上得到了提速,尤其是图片比较多的站。方法很简单,自己去网上搜索一下,非常的多。
二.图片本地缓存
包括JS、Flash等,把这些元素缓存后,用户第二次再去访问你的站时,那速度将是秒开。推荐使用.htaccess缓存图片,方法:直接在.htaccess中添加如下代码:
# Image and Flash content Caching for One MonthFilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf)$”Header set Cache-Control “max-age=2592000″/FilesMatch
这里说一下,WordPress评论者头像gravatar,大家可能感觉到了,Gravatar明显会拖慢 网站速度,以至于一些博客不让显示Gravatar头像或用神秘人代替了。也有一些站点追求比较苛刻,本地化了Gravatar头像,后者我不推荐,尤其 是网站评论较多,那将给服务器带来巨大的压力。
三.开启wordpress的GZIP
首先你可以用站长工具检测一下代码是否有必要压缩
开启gzip方法也很多,
方法1:使用gzippy插件,直接安装启用即可。
方法2:在Cpanel面板中实现
C面板中有个 Optimize Website 图标,点击进入后选中 Compress all content,Update settings即可开启我们的网站加速功能~当然,我们也可以根据自己的需要,选择第三项,压缩指定的类型以节约服务器资源。
方法3:通过.htaccess实现,加入规则:
ifmodule mod_deflate.c
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
/ifmodule
四:静态化页面减少对数据库的查询
wp super cache插件 它把整个网页直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速。
当然,如果你不静态化页面,也可以缓存数据库,DB cache插件比较不错。
小结:
如果这四大方法你都用上了,那你的WordPress速度提升基本已经发挥的淋漓尽致了,最后我们要注 意一下,经常在打开你博客的时候,观察状态栏的加载情况。见过一些站,因为使用了外部JS结果那个站点挂掉的时候导致自己的站点整个都打不开。还有就是经 常清理和优化你的数据库,这一点是至关重要的,数据库在查询中产生碎片,WordPress在运行时也会残留一些垃圾,尤其是代码高亮插件和 WordPress自动保存功能。
如何在WordPress后台直接优化MySQL数据库
为什么需要优化数据库
随着
MySQL
的使用,包括
BLOB
和
VARCHAR
字节的表将变得比较繁冗,因为这些字段长度不同,对记录进行插入、更新或删除时,会占有不同大小的空间,记录就会变成碎片,且留下空闲的空间。就像具有碎片的磁盘,会降低性能,需要整理,因此要优化。
如何优化
WordPress
数据库
而
WordPress
使用的数据库正是
MySQL,所以当你觉得
WordPress
速度比较慢的时候,对
MySQL
进行优化下,可以相当程度上提高
WordPress
的速度。我们可以通过
PHPMyAdamin
对
MySQL
表进行优化:
在
PHPMyAdmin
优化
MySQL
表
使用
Optimize
DB
插件在WordPress
后台直接优化
MySQL
数据库
但是如果每次都要进入
PHPMyAdmin
优化
MySQL表,这样是非常麻烦的,今天推荐的插件:Optimize
DB
就能让你在
WordPress
后台直接优化
MySQL
数据表。
该插件安装非常简单,上传激活即可,激活之后,在
WordPress
后台
工具(Tools)
Optimize
DB
就能优化
MySQL
数据表了:
在
WordPress
后台优化
MySQL
表
上图中的
overhead
就是数据库冗余,点击
Optimize
Now,就可以优化。
文:我爱水煮鱼
如何提高wordpress速度
第一、主机商和机房的选择,首先主机品牌很重要,选择信誉好的主机商错不了。
第二、主机系统的选择使用WordPress程序,建议一定要使用Linux系统,虽然很多Windows主机环境也支持PHP+MYSQL,但是在运行WP的程序,LINUX系统兼容性会更好,速度会更优一些。
第三、WordPress主题和插件。
第四、定期优化数据库。
第五、使用第三方缓存工具,提升WordPress程序网站速度可以从网站主机,以及网站自身上提高,后者在长期运营网站中更为关键。
wordpress 源代码中内嵌了一些无法访问的url拖累访问速度?
wordpress必装插件,wordpress网站装好了之后,为了更好的优化网站少不了安装插件优化。今天给大家推荐wordpress必装插件以及工具。只需输入域名选择wordpress主题或模板(内置90000套主题模板选择)。一个网站就这样搭建完成。软件上还覆盖各种主题功能以及全套SEO插件。等下会以图片的形式给大家展示。大家注意看图。一键建站+行业内容采集+伪原创+主动推送给搜索引擎收录。
网站地图,又称站点地图,它就是一个页面,上面放置了网站上需求搜索引擎抓取的一切页面的链接(注:不是一切页面)。大多数人在网站上找不到本人所需求的信息时,可能会将网站地图作为一种弥补措施。搜索引擎蜘蛛十分喜欢网站地图。
制作网站地图的工具十分多,如sitemapX,其他软件功用大同小异。网站地图放置在网站的根目录,有一份或者多份,只要一份的状况是页面比较少,网站地图文件较小,蜘蛛读取速度快,反之蜘蛛读取速度慢,所以分开多个文件放置,不由于读取问题影响权重。另外,robots协议文件控制搜索引擎抓取范围、时间频率等,所以应该把网站地图放在robots的最后面,先恪守robots抓取范围。
出现404错误是在网站页面被收录了之后,后面又被删除,在搜索引擎再次点击即出现404错误。这对用户体验来说是相当糟糕的,但404错误又是无法避免的,中小型网站页面数量不会很多,但是大型门户网站,论坛等,数量就多了。404在seo优化中,尤其是在跳出率和PV上,起到关键作用。
什么是404错误
先看看seo名词解释:HTTP 404或Not Found错误信息是HTTP的其中一种“标准回应信息”(HTTP状态码),此信息代表客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应且不知原因。
出现404错误的影响
自定义404错误页面是增强用户体验的很好的做法,但在应用过程中往往并未注意到对搜索引擎的影响。 搜索引擎蜘蛛在请求某个URL时得到“404”状态回应时,即知道该URL已经失效,便不再索引该网页,并向数据中心反馈将该URL表示的网页从索引数据库中删除,删除过程有可能需要很长时间;
搜索引擎得到“200”状态码时,则会认为该url是有效的,便会去索引,并会将其收录到索引数据库,结果是这两个不同的url具有完全相同的内容,搜索赢球认为这是复制的网页。轻则被搜索引擎降权,重则会K掉网站。静态页面为路径的网站,在优化和删除某些后台编辑的文章时,一定要把网站的生成静态页面(完整路径的页面)删除,同时向百度进行死链提交。
这里要提到特殊的tag功能,dedecms能按照文章关键字自动生成tag标签。如果tag标签也被收录,而你删除了某些tag标签,都会弹出“dedecms提示:该标签已删除”的错误页面,会产生非常多重复且低质量的页面。由于不是返回404,无法通过提交404错误,删除这些快照。如果你有大量的tag标签页被收录,404页面的设置方法很多,以万网虚拟机为例,Apache下设置404错误页面。方法很简单,只需在.htaccess 文件中加入如下内容即可:ErrorDocument 404 /notfound.php。也可在万网空间设置里面设置404页面,只要选好404模板。
制作死链文件筛查网站内部存在的死链,并将这些死链页面设置成为404页面,即百度访问它们时返回404代码。将需提交的死链列表制作成一个死链文件,制作方法请参阅百度错误页面提交帮助文档(与sitemap格式及制作方法一致)
wordpress百万级数据如何优化数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。“总是在灾难发生后,才想起容灾的重要性。总是在吃过亏后,才记得曾经有人提醒过。”,所以此处列出一些MySQL的必要的优化和建议。
1. 核心类
♦ 不在数据库做计算,cpu计算务必移至业务层;
♦ 控制单表数据量,单表记录控制在千万级;
♦ 控制列数量,字段数控制在20以内;
♦ 平衡范式与冗余,为提高效率可以牺牲范式设计,冗余数据;
♦ 拒绝3B(big),大sql,大事务,大批量;
2. 字段类
♦ 用好数值类型
tinyint(1Byte)
smallint(2Byte)
mediumint(3Byte)
int(4Byte)
bigint(8Byte)
bad case:int(1)/int(11)
♦ 有些字符转化为数字
例如:用int而不是char(15)存储ip
♦ 优先使用enum或set
例如:sex enum (‘F’, ‘M’)
♦ 避免使用NULL字段
NULL字段很难查询优化
NULL字段的索引需要额外空间
NULL字段的复合索引无效
bad case:
name char(32) default null
age int not null
good case:
age int not null default 0
♦ 不在数据库里存图片
3. 索引类
♦ 谨慎合理使用索引
改善查询、减慢更新
索引一定不是越多越好(能不加就不加,要加的一定得加)
覆盖记录条数过多不适合建索引,例如“性别”
♦ 字符字段必须建前缀索引
♦ 不在索引做列运算
bad case:
select id where age +1 = 10;
♦ innodb 主键合理使用自增列
主键建立聚簇索引
主键不应该被修改
字符串不应该做主键
如果不指定主键,innodb会使用唯一且非空值索引代替
♦ 不用外键,请由程序保证约束
4. sql类
♦ sql语句尽可能简单
一条sql只能在一个cpu运算
大语句拆小语句,减少锁时间
一条大sql可以堵死整个库
♦ 简单的事务
事务时间尽可能短
bad case:
上传图片事务
♦ 避免使用触发器,用户自定义函数,请由程序取而代之
♦ 不用select *
消耗cpu,io,内存,带宽
这种程序不具有扩展性
♦ OR改写为IN()
♦ OR改写为UNION
PS:最新的mysql内核已经进行了相关优化
♦ limit高效分页
limit越大,效率越低
select id from t limit 10000, 10;
应该改为 =
select id from t where id 10000 limit 10;
♦ 使用union all替代union,union有去重开销
♦ 尽量不用连接join
♦ 务必请使用“同类型”进行比较,否则可能全表扫面
♦ 打散批量更新
♦ 使用新能分析工具
show profile;
mysqlsla;
mysqldumpslow;
explain;
show slow log;
show processlist;
show query_response_time(percona)
【wordpress数据库优化】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: