zoukankan      html  css  js  c++  java
  • wordpress和传统网站的加载性能优化

    前言

      网站的性能优化是非常重要的,直接决定了用户体验,和网站的负载能力。

      

      Wordpress是一款非常受欢迎的Blog/CMS开源软件。全球数百万的网站使用wordpress搭建。

      那么,如何让wordpress的性能、效能达到最佳,在减少服务器负荷的情况下,提高网站的访问速度,或者说提高网站性能,提高用户的访问体验呢?

      锐壳主机的管理员莫小哥来帮你解决这些问题吧。写作水平和知识水平有限,如果有不通顺,或者错误的地方,还请谅解。

      网站速度的瓶颈主要是:

      - 宽带瓶颈。用户的网络和服务器之间的网络是否通畅、及服务器本身的宽带是否宽裕。

      - 数据库瓶颈。网站程序索取数据的速度,决定了动态网站的页面产生时间。

      - 磁盘IO瓶颈。资源文件、程序解析、数据库数据读取和持久化都跟磁盘IO有关。

      - 程序本身的瓶颈。如果程序写得不够好,除了优化代码,老天也帮不了你啊。

      宽带瓶颈

      宽带非常重要,也许你的宽带很充裕、服务器的宽带也充裕,但是物理位置却太远(国内到美国西岸的距离~~想想都醉了!广告一下,锐壳主机有香港和日本,都是离大陆最近的免备案区域)。其实宽带瓶颈是很无力的,大部分情况下,服务器的宽带是很充裕的。

      那么数据如何在最短的时间内传输完毕?!

      方案:

      - 开启服务器的gzip压缩。压缩传输数据,减少传输时间。

      - 将资源文件放在国内。

      - wordpress或者自己开发的程序可以使用七牛云存储的镜像功能。

      - 你需要的只是创建一个七牛镜像空间,修改资源文件为七牛空间提供的url地址即可。

      - 也可以直接使用我爱水煮鱼作者开发的 七牛静态化插件。这样,服务器只需要传输网页的html,其他css,js等文件交给七牛,可以非常有效的提高网站的整体速度。

      - 锐壳主机的官方网站就是这么做的哦!

      数据库瓶颈

      我们的网站数据是持久化存储在mysql数据库中(占用磁盘)。动态网站的本质就是读取数据库,处理逻辑,生存html传输给浏览器。例如我们的wordpress,就是一个动态php程序。

      我们每次访问wordpress博客,wordpress就会从mysql数据中读取文章、标签等等内容,然后生存html,传输给浏览器,浏览器渲染给用户。

      所以,每次访问,都会去查询mysql数据库,将数据读取出来。这个过程,也是网站的速度瓶颈之一!

      减少数据库的查询,就能明显提高网站速度了。

      所以,如果我们减少或者不查询数据库,网站是不是就会更快了呢。没错!这就是静态化。

      好在wordpress有静态化插件,例如wp-super-cache 等插件。可以将wordpress的页面缓存,减少查询数据库,进而直接从磁盘读取缓存的页面,发送给浏览器,不进行或者减少数据库的查询操作等。

      磁盘IO瓶颈

      更快的磁盘速度,也会提高网站速度!

      比如,我们网站的图片、css、js都存储在服务器的磁盘上。那么从服务器软件(例如nginx)读取这些文件(对于磁盘来说就是读取文件),然后发送给用户浏览器;

      再或者,我们进行写入和读取mysql的数据,也会从磁盘中读取和写入数据。

      这些操作,当然是更快的磁盘速度,就意味着更快的网站加载速度啦!

      所以用上SSD硬盘,对网站速度也能有明显的提高的(锐壳主机的服务器磁盘均是SSD硬盘)!

      程序瓶颈

      程序瓶颈主要是用户写的代码、数据库的增删改查语句、数据库表的优化,都能改善程序的性能。

      这个就需要一定的经验、开发能力和技巧啦。

      结语

      其实这些都是一些常规的优化和注意事项及建议。对于新手用户来说,有一定的帮助。

      用户可以举一反三。甚至可以多多了解nginx、HTTP协议级别的缓存、redis等内存级别的缓存等内容。

      最后,锐壳主机欢迎你。带CDN的虚拟主机,完美兼容wordpress!近期我们会推出基于docker容器技术的应用引擎,届时欢迎大家前来体验!

  • 相关阅读:
    centos 安装tomcat
    UTF8 的BOM带来的麻烦
    linux 下tomcat开机自启动
    proxool连接池空闲连接中断问题解决
    java判断字符串是否为空的方法总结
    修改my.cnf ,使mysql 的表面不区分大小写
    csc a Wx.NET app.doc
    用Wiz作为灵格斯词典(Lingoes)的生词本
    单词
    使用OKHTTP方式发送POST请求,获取返回的JSON串
  • 原文地址:https://www.cnblogs.com/moli/p/4870516.html
Copyright © 2011-2022 走看看