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容器技术的应用引擎,届时欢迎大家前来体验!

时间: 2024-12-14 03:51:14

wordpress和传统网站的加载性能优化的相关文章

H5缓存机制浅析-移动端Web加载性能优化【干货】

转载:H5缓存机制浅析-移动端Web加载性能优化[干货] 作者:贺辉超,腾讯游戏平台与社区产品部 高级工程师 目录 1 H5缓存机制介绍 2 H5缓存机制原理分析 2.1 浏览器缓存机制 2.2 Dom Storgage(Web Storage)存储机制 2.3 Web SQL Database存储机制 2.4 Application Cache(AppCache)机制 2.5 Indexed Database (IndexedDB) 2.6 File System API 3 移动端Web加载

页面加载性能优化

页面加载性能优化 在互联网网站百花齐放的今天,网站响应速度是用户体验的第一要素,其重要性不言而喻,这里有几个关于响应时间的重要条件: 用户在浏览网页时,不会注意到少于0.1秒的延迟: 少于1秒的延迟不会中断用户的正常思维, 但是一些延迟会被用户注意到: 延迟时间少于10秒,用户会继续等待响应: 延迟时间超过10秒后,用户将会放弃并开始其他操作: 因此大家都开始注重性能优化,很多厂商都开始做一些性能优化.比较有名的是雅虎军规,不过随着浏览器和协议等的发展,有一些已经逐渐被淘汰了.因此建议大家以历史

【Android笔记】listview加载性能优化及有多种listitem布局处理方式

在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容. 用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建. ListView加载数据都是在 1 public View getView(int position, View convertView, ViewGroup parent) { 2 3 ...... 4 5 }

H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性.离线存储(也可称为缓存机制)是其中一个非常重要的特性.H5 引入的离线存储,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. H5 应用程序缓存为应用带来三个优势: 离线浏览 用户可在应用离线时使用它们 速度 已缓存资源加载得更快 减少服务器负载 浏览器将只从服务器下载更新过或更改过的资源. 根据标准,到目前为止,H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的. 浏览

安卓开发笔记——ListView加载性能优化ViewHolder

在前不久做安卓项目的时候,其中有个功能是爬取某网站上的新闻信息,用ListView展示,虽然做了分页,但还是觉得达不到理想流畅效果. 上网查阅了些资料,发现一些挺不错的总结,这里记录下,便于复习. 当ListView有大量的数据需要加载的时候,会占据大量内存,影响性能. 经过测试,发现耗费大量资源是在ListView去加载布局文件的时候,也就是findViewById的时候,这时我们就该考虑如何复用这个布局文件对象,以减少对象的创建. ListView加载数据是在public View getV

listview加载性能优化

在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建. ListView加载数据都是在public View getView(int position, View convertView, ViewGroup parent) {}方法中进行的(要自定义listview都需

listview加载性能优化ViewHolder

在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局, 但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建. ListView加载数据都是在public View getView(int position, View convertView, ViewGroup parent) {}方法中进行的(要自定义listview都

懒加载和预加载---性能优化

懒加载 认识 懒加载是一种按需延迟资源的方式.在加载显示页面时,并不一次性加载所有该页面所需要的图像,对于在可视区域之外的图像,可以等到用户scroll到该区域的时候,再进行加载 实现方式 1.目前已经有很多库实现了懒加载,例如lazysizes,可以考虑使用 2.使用库这样的操作,相当于增加一个需要请求的js文件,增加一次http请求.所以如果能够实现原生的懒加载,能够更好的优化性能: 原生js实现图片懒加载 原理: 页面上图片的src属性设置为空字符串:(也可以设置为一个占位位图) 将真实路

CSS加载性能优化

将首屏页面要用到的CSS文件,放在页面头部加载,其他模块的CSS可以使用异步加载:loadCSS 和 Preload. 关于preload,推进2篇文章给大家看下: 1.通过rel="preload"进行内容预加载: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Preloading_content 2.preload 的w3文档: https://www.w3.org/TR/preload/ 对于一些不是首屏加载的css,我们可以