网站优化的一些方法

news/2024/5/2 1:38:36/文章来源:https://blog.csdn.net/weixin_33816300/article/details/89009455

写在前面

年初Django开发的网站项目第一版已经上线,因为需求变动太大,所以想按照前后端分离的方式早点推重构再优化,但是时间又不允许,所以就先做第一版的优化,重构的事并行,以后考虑迁移数据。

关于静态文件

  1. 压缩js/css文件。
    我们使用gulp来压缩js/css文件。

  2. 静态文件全部迁移到七牛云存储里面。
    原来的静态文件直接放在服务器里,首页图片比较多,之前测试服务器加载完首页js/css/图片,最长的一个文件时间需要3.6秒左右,现在最长的图片只需要170ms左右。在七牛对象存储bucket中可以设置文件的浏览器缓存Cache-Control的max-age的秒数,这样可以让静态文件在客户端浏览器中缓存,比如static/js/index.js,第一次请求资源时会请求服务器,如果没有超出缓存时间,下载请求时直接加载本地资源。不过这里可能会产生一个问题。如果你的静态文件缓存在本地浏览器或者七牛的CDN中,你在更新服务器代码的时候,就会产生脏数据。用户请求的数据依旧是之前的缓存在本地或者CDN中的数据。解决的方法有几种,第一种是在你的静态文件后面加参数,比如原来请求static/js/index.js现在改成static/js/index.js?v=20170809,这两个是不同的URI,会促使服务器重新加载新的静态文件,但是这样做有个问题,只能全量更新,无法增量更新。第二种方式是在你的静态文件前面加前缀,比如/v1/static/js/index.js,这个缺点也是一样,无法增量更新。第三种方式是在文件名后加md5值,比如static/js/index.c6d9c9fc12c1dbaee77703a4dd731a8b.js。如果没有改过的文件,还是会加载到缓存中,该过的文件,由于md5值变了,会请求新的文件,所以推荐使用第三种方式。由于我们项目的历史原因,没办法改成第三种,暂时只能通过缓存的设置,我把客户端缓存设置为8小时,七牛的静态文件缓存为1个月,然后通过七牛的refresh的API,批量刷新一下网站中自己写的js/css的文件夹目录,让七牛的缓存从源中重新拉取文件。这样在半夜更新服务器时,让用户在第二天使用时不会加载脏数据。

关于Media

  1. 视频
    视频一般就直接上传七牛,CDN加速。

  2. 图片
    图片最早我们是直接用python的wand库切图后,保存到线上服务器中。后来发现切图的时间慢,而且很消耗CPU跟内存的资源,所以现在都是原图直接上传到七牛中,七牛针对图片有图片样式的处理,比如头像,我们有三种标准4040,5050,8080,原来只切成8080的图片,不管哪种样式,通过css的width跟height属性控制其他样式。现在直接定义三个样式,在图片请求加上相关参数,直接就获取了这三个样式的图片,最小化的减少图片的加载。

关于Cache

1.把常访问的页面用cache静态化。
2.把常用的数据全部丢到在redis中,减少从数据库中请求。

数据库

  1. 数据库读写分离。提高数据库性能。

  2. 代码中减少对数据库查询的请求,一次查完的不要查二次,对经常查询的字段建索引。

下一阶段要做的优化

  1. 负载均衡。

  2. 分库分表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_764173.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken

项目需求 需求一.、使用gitlab创建项目 需求二、 使用ansible的roles实现一键化部署wordpress 每次部署需要备份之前的网站数据 使用roles 使用templates 脚本对网站监控检测 需求三、 完成之后项目上传至gitlab 项目部署环境 centos7 Gitlab服务器: 10.2…

《淘宝店铺 大数据营销+SEO+爆款打造 一册通》一一2.7 关注单品分析,打造店铺爆款...

本节书摘来自异步社区出版社《淘宝店铺 大数据营销SEO爆款打造 一册通》一书中的第2章,第2.7节,作者:葛存山 , 耿寿礼,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.7 关注单品分析,打造店铺爆款 新手开店…

Firefox 66 发布,阻止网站自动播放声音

开发四年只会写业务代码,分布式高并发都不会还做程序员? Firefox 66 发布了,此版本在桌面版中带来的新特性包括: Firefox 现在阻止网站自动播放声音,如果需要可以单独调整改进的搜索体验: 当打开许多选项…

asp.net.core网站重启后登陆无效问题(部署在IIS)

一.问题 在使用asp.net.core时,把网站发布到IIS后,在后续更新中需要停止网站,然后重启网站,发现已经登陆的用户会退出登陆。过程如下 1.登陆代码(测试) 1 [AllowAnonymous]2 [HttpGet]3 public IActio…

一个基于Asp.net MVC的博客类网站开源了!

背景说明: 大学时毕业设计作品,一直闲置在硬盘了,倒想着不如开源出来,也许会对一些人有帮助呢,而且个人觉得这个网站做得还是不错了,毕竟是花了不少心思,希望对你有所帮助。 github地址&#xf…

云服务器建站

1. 申请云服务器 申请服务器付费成功之后,在控制页面可以查看到公网IP地址,并且得到自己的管理员密码 2. 登录云服务器 用secrueCRT,用quick connect, 协议用SSH2,hostname就是外网ip,username默认是root其他都默认设置…

网站服务器被传lpk.dll怎么办

杀马特服务器安全软件专业维护服务器安全。专注于服务器安全,让服务器安全变的简单,让站长更好的管理服务器。基础功能:服务器系统用户、文件监控、恶意文件删除,网站防注入篡改。增强功能:杀马特网站实时监控、记录组…

SVN 网站服务器同步更新

1、在windows上安装 VisualSVN Server 服务器 2、创建一个“仓库”——myweb 3、给仓库添加一个用户 —— 用户名:zhangsan 密码:passwd 4、创建 F:\bbb 和 F:\bbb1文件夹 5、查找“仓库”的配置文件,如图 6、在F:\Repositories\my_web\hooks目录下面创…

django带后台管理功能的网站

一、原起: 我大学是学的.Net平台、在那个平台上开发网站用的是ASP.NET这门技术;在那里对数据库的处理、为了 方便写代码,通常也是会用ORM(对象关系模型映射);毕业后搞起了MySQL数据库、自学了python、到现 在用起了django、才发现…

技术存档:建站(一)

写这系列文章的初衷是:对自己知识面广度和深度的确定,并以此调整后续的发展和学习方向。希望能达到温故而知新的效果。选择从建站入手,是因为这个是最常见的要求。对于公司而言,网站是展示公司主旨、业务、沟通方式、宣传营销的必…

github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url,添加RSS)...

详细的可以查看hexo博客的演示:https://saucxs.github.io/绑定了域名: http://www.chengxinsong.cnhexogithub博客网站源码(可以clone,运行,看到博客演示。觉得可以给颗星星):https://github.com/saucxs/hexo-blog-ori…

从这3方面着手分析竞争对手网站的数据

对于做seo优化的伙伴来说,研究分析竞争对手网站是一件最为常见,也十分重要的事情。但是,很多小伙伴都不知道怎样去分析竞争对手网站。和老板说分析了对手网站,也只是看看对手网站的站长数据而已,最后也只是得出这样的一…

[技术分享 - ISA 篇] 如何通过ISA2006发布网站时实现URL跳转

在用 ISA2006 发布网站时候,我们经常碰到的一个问题是怎么实现 URL 跳转。比如,通过 ISA2006 发布Exchange 2007 OWA,用户需要访问 https://www.contoso.com/owa来访问 OWA。 很多用户就希望,能不能通过 URL 跳转的方式&#xff…

CentOS7 系统下更改Apache默认网站目录

2019独角兽企业重金招聘Python工程师标准>>> 操作步骤&#xff1a;1、vi /etc/httpd/conf/httpd.conf 找到 DocumentRoot "/var/www/html" 这一段 #apache的根目录 把/var/www/html 这个目录改为/home/wwwroot/web1/htdocs 再找到 <Direc…

响应式设计工具网站mydevice.io

1、网址 https://mydevice.io/ 2、使用 在mydevice.io上有常见智能手机&#xff0c;PC电脑的尺寸。 转载于:https://www.cnblogs.com/mengfangui/p/8258324.html

瞬时响应:网站的高性能架构

一、网站性能测试 &#xff08;1&#xff09;性能测试指标&#xff1a;①响应时间&#xff1b;②并发数&#xff1b;③吞吐量&#xff1b;④性能计数器&#xff1b; &#xff08;2&#xff09;性能测试方法&#xff1a;①性能测试&#xff1b;②负载测试&#xff1b;③压力测试…

建站手册-网站主机:网站主机的服务器技术

ylbtech-建站手册-网站主机&#xff1a;网站主机的服务器技术1.返回顶部 1、http://www.w3school.com.cn/hosting/host_technologies.asp2、2.返回顶部1、本节介绍一些最常用的的主机技术。 Windows 主机 Windows 主机是运作在 Windows 操作系统上的主机服务。 如果您使用ASP作…

【PHP】五分钟教你编写一个实时弹幕网站

由于博主是个忠实的英雄联盟粉丝&#xff0c;所以经常观看一些明星大神的直播。而一谈到直播&#xff0c;肯定会看到满屏幕飘来飘去的弹幕。那么问题来了&#xff0c;这些视频弹幕网站如何做到实时同步的&#xff1f;PHP如何开发一个类似的网站&#xff1f; 首先要搞定的是前端…

django搭建一个小型的服务器运维网站

前言 不管是运维还是开发抑或是测试&#xff0c;工作中不免会和Linux服务器打交道&#xff0c;常见的操作譬如&#xff1a;查看CPU或内存状态、查看和修改服务器时间、查看或者修改服务器配置文件、实时查看或回看系统的日志、重启服务器中某个进程等。如果不在服务器旁&#x…

请求https前缀的网站验证SSL证书的解决方案之一

from requests.packages.urllib3.exceptions import InsecureRequestWarning# 禁用安全请求警告requests.packages.urllib3.disable_warnings(InsecureRequestWarning) 转载于:https://www.cnblogs.com/weiwei-python/p/10118999.html