网站优化思路笔记

缓存层

自建web缓存,或者购买CDN,将用户经常访问的,更新频率低的资源存放起来,这样用户再次请求相同资源的时候,就不会对后端的服务造成影响。为防止互联网上的恶意访问爬虫,我们应该做好相应的安全措施。
缓存之类的措施一定要适合公司的当前业务,如果是项目的静态资源很多,只要我们购买的cdn够好,用户访问量可随便。
搭建服务器集群,用户访问就近的地区服务器。用户请求由不同的多台服务器承担,减轻服务器访问压力,在用户使用量低的时间段,子服务器顺序把数据上传到总服务器上,总服务器整合完,把数据分发到子服务器上。
在这里插入图片描述

代理层

提高用户高质量的分发。
借助nginx做反向代理操作,提高分发量,最好的办法是基于请求的关键字进行合理的分流。
基于请求的ip地址信息,封闭恶意ip访问,提高正确ip用户访问效率
基于请求的浏览器信息,分发到相应的后端应用,
基于请求的协议方法,做好读写分离业务的精确分流
基于请求的路径信息,做好指定业务的精确分流

1随着接口功能的增加,可以将upstream拆分到不同的功能目录中
2对location的匹配规则尽量描述清楚,特别是匹配的location_match,最好使用^&来锚定首尾字母

项目后端web访问

当动态web请求过多,压力大时,常见的解决方法有哪些
解决思路:
可以根据架构演变的思路,我们合理的调整页面访问的关键流程,在技术方面我们可以
1分析动态的请求瓶颈点在哪里,请求量大还是数据访问量大
请求量大:
web缓存/CDN,或者动态web集群
例:可以将经常访问的登录和注册页面进行静态化处理,静态化都交给nginx来维护静态页面,不需要django来处理请求了
数据库操作多:
把经常操作的数据,放在redis缓存数据库中 减轻mysql 的压力
如何提高静态web资源的访问质量
解决思路
结合前端缓存的功能,在代码或者代理部分设置合理的资源缓存过期时间,定时、实时推送相关的信息到前端的缓存层

数据库方面

解决用户访问数据有压力
热点数据读取频繁的话,可以考虑前端数据缓存,分布式数据缓存,优化查询搜索方法
对于数据频繁写入压力的话,可以考虑数据库集群,读写分离,分库分表,增加数据管理层方法
开发角度
关注数据库表的设计 ,表的索引合理,查询的时候,尽量使用条件查询 django也可使用原生mysql语句查询

读写分离存储

存储层方面

存储设备质量,分布式存储,备份策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值