大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、静态文件优化
公司主营业务:网站设计制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出谢家集免费做网站回馈大家。
网站的静态文件一般有两种:第一种是网站的 CSS,Javascript 和一些主题的常用背景图片和按钮文件,这些图片如果网站不进行改版或者其他改动,基本上是不会修改的,第二种是每天更新的网站内容中上传的图片或者附件,这些图片文件也是基本不会改动的。
解决好静态文件存储和加速,网站性能就首先能得到基本的保证了,WordPress 构建的网站和博客也是一样的。对于这些静态文件来说,最好的解决方案永远是使用 CDN 网络进行加速,这样服务器的压力将大大降低,因为访问页面只有当前页面是在自己服务器上,其他所有图片 JS CSS 都是从 CDN获取的。
2
服务器优化
优化好静态文件之后,就要开始对网站的动态内容进行优化,优化动态内容,首先要有一个稳定网络环境,稳定的主机供应商和服务器性能的优化。
选择一个靠谱的主机托管商,在国内这个很多时候让你抓狂,但是只要努力还是可以的。个人选择 BGP 或者多线机房,让全国用户访问都能有不错的速度,然后尽量选择独立的服务器,再不济,也得 VPS, :-) 因为你没有服务器的 Root 权限很多东西是无法进行的(个人博客可以考虑选择我爱水煮鱼目前使用的 Media Temple 这类的 VPS 主机),当然你也可以找我合租,速度肯定非常强悍。
WordPress 缓存机制和如何缓存
要彻底明白和搞懂 WordPress 性能优化,首先要理解 WordPress 缓存机制,WordPress 默认是一种叫做 WordPress Object Cache 的对象缓存机制,它是把需要缓存的内容按照 Key-Value 这样的模式进行缓存(和 No-SQL 的 key-value 的有点类似),当然它还支持按照 Group 来划分和避免缓存的内容冲突。
所以最基础的 WordPress 缓存插件就是,把 WordPress 产生的 Key-Value 存起来,如果是使用 Memcached,就是存到内存,如果使用 Flie 就是存到硬盘中,当然高级的 WordPress 插件还能做更多,比如 WP Super Cache把整个页面缓存到硬盘中,下次直接访问静态的 HTML 文件,让服务器直接绕过 PHP,节约 CPU 时间。 Batcache 会把整个页面当做一个对象存到内存里面。
App每日推送 由于注册用户操作比较频繁,不适合 WP Super Cache 这样的静态缓存,对硬盘读写太多,讨论区又无法缓存,我们使用 Memcached 和 Batcache 搭配的内存缓存模式:
对于已登陆的用户,Memcached 会把 WordPress 的对象存到内存里面,服务器的内存足够大,读取和存储速度也够快,并且内存缓存命中率也大于 94%。另外我们 WordPress 程序经过优化,每个页面的查询一般在 2 条左右,所以整个网站效率很高。
WordPress 程序优化
WordPress 程序优化是基于 WordPress Object Cache 的机制对 WordPress 插件和主题进行优化,主要经验有以下几点:
只使用必须的 WordPress 插件,安装太多的 WordPress 插件很容易引起性能问题。从正规站点下载 WordPress 主题,这样下载的主题才能保证质量和安全。WordPress 主题和插件尽量使用模板函数,因为 WordPress 模板函数如果可能都已经做好了 WordPress Object Cache。比如 get_the_terms 和 wp_get_object_terms 这两个函数,功能基本一样,但是 get_the_terms 直接从对象缓存中取数据,无查询,而 wp_get_object_terms 每次都从数据库中取数据。WordPress 插件和主题如果一定要直接查询数据库,请做好 Object Cache,将查询的结果使用 wp_cache_set 存到 Object Cache 中,下次直接使用 wp_cache_get 获取。
5
WordPress 性能优化总结
选择好的服务器和托管商,对 WordPress 程序进行优化,并且做好缓存,WordPress 效率其实很高的,加上 WordPress 本身的灵活性和功能强大,WordPress 作为各种建站绝对是非常不错的选择,所以我一直使用 WordPress 建站。
6
WPJam Debug 插件
最后补充一个 WordPress 性能检测的插件:WPJAM Debug,可以在页脚显示当前页面有多少条 SQL 查询,页面生成花了多少时间,并且把 SQL 按照执行顺序和按照耗时两种方式列出,通过这样的方式帮你分析 WordPress 哪条 SQL 查询有问题或者比较慢,然后着手改进它。
用wordpress不用缓存插件的话,那简直无法想象那速度,优化wordpress速度,一定要用缓存。
另外不要过多使用插件,特别是质量低的插件。如果是开发者,多利用wordpress自带的cache函数。
我的意思是假如我买一台VPS,装kloxo虚拟主机,然后给朋友用来放WordPress,是给我们一个是社团用,人手一个的话差不多有50多个吧,那么,VPS内存总共只有512M,装好整个LAMP环境,用suphp模式,用掉大概一半内存,在php.ini里面允许每个WordPress最大调用到32M的话,假如同时几个WordPress都有比较大的流量,会不会突然就内存用光了?
WordPress内存耗尽错误解决办法
WordPress程序消耗内存,插件,主题也都消耗内存,在WordPress新版本(WordPress 3.0+)使用中会消耗更多的内存,PHP程序在执行过程中没有足够的内存,你的网站就可能出现这样的错误:
Fatal error: Allowed memory size of 67108864 bytes
exhausted (tried to allocate 1203208 bytes) in
/home/*****/public_html/wp-admin/includes/class-pclzip.php on line 4215
这种问题虽然在WordPress新版本中频发出现,但这并不是WordPress的BUG,问题的严重性,使得WordPress官方对这个问题都有专门说明以及解决办法:
回到之前的错误,在错误信息中,有两个关键的点,67108864 bytes和1203208
bytes,换算到M就是64M和1.1M,每次执行PHP需要分配1.1M的内存,但是由于整体消耗内存量太大,默认64M的最大内存不够用,被耗尽
了,根据WordPress官方给出的解决办法,我们只要在wp-config.php中加入如下代码:
define(‘WP_MEMORY_LIMIT’, ’128M’);
至于为什么是128M,这个就看你个人了,当然超过64M都是可以的。
以上的基础是,服务器本身的硬件不错,然后看两点:1,服务器的配置与性能优化;2,服务器上放置的用户数量。