网站性能优化整理笔记

news/2024/5/19 23:24:15/文章来源:https://blog.csdn.net/weixin_34306446/article/details/91528826

为什么80%的码农都做不了架构师?>>>   hot3.png

优化网站响应时间方法

1、减少http请求

可以降低网站的响应时间和减少传输的数据,主要方法:

    1)将多个图片合并成一个文件,减少图片下载的请求

    2)合并js脚本和css样式文件

    3)利用浏览器的缓存功能,避免重复下载相同的文件

2、动态内容静态化

针对一些内容不经常改变,可以将动态内容静态化,从而降低服务器的响应时间

3、优化数据库

4、使用负载均衡

单台web服务器处理能力有限,单台服务器承受压力达到极限时,需要更多的服务器分担工作。实现负载均衡的方法:http重定向、基于DNS的轮询解析、反向代理服务器。目的是把流量分配到更多的服务器,从而降低单台服务器的压力

5、使用缓存

缓存把需要花费昂贵开销的计算结果保存起来,在以后需要时直接取出,从而避免重复计算

Mysql响应速度提高方案:HandlerSocket

HandlerSocket概述:HandlerSocket是mysql的一个插件,集成在mysqld进程中,通过合并写入、简单协议等手段提高数据访问性能

HandlerSocket工作原理:HandlerSocket绕过mysql的sql解析层,直接访问mysql存储层

Mysq稳定性提高方案:主从复制

mysq主从复制的优点:

1)增加健壮性。主服务器出现问题时,切换到从服务器作为备份

2)优化响应时间。不要同时在主从服务器上进行更新,这样可能引起冲突

3)在从服务器备份过程中,主服务器继续处理更新

主从复制工作原理:通过3个实现过程,一个过程发生在主服务器上,两个过程发生在从服务器上

1)主服务器将用户对数据库更新的操作以二进制格式保存在binlog日志文件中,然后由binlog dump线程将日志文件传输给从服务器

2)从服务器通过一个I/O线程将主服务器的二进制文件更新操作复制到一个relay log的中继日志文件中

3)从服务器通过另一个sql线程将relay log中继日志文件的操作依次在本地执行,从而实现了主从之间的数据同步

主从复制配置:

1)确认主从服务器的Mysql版本

2)在主服务上为从服务器设置一个连接账户,授予REPLICATION SLAVE权限:GRANT REPLICATION SLAVE ON *.* TO 'username'@'%.mydomain.com' IDENTIFIED BY 'password'; 

3)配置主服务器:打开二进制文件,指定唯一Server ID

4)重启主服务器

5)配置从服务器:提供一个唯一Server ID,不能跟主服务器的server id一致,重启mysql服务器

6)启动从服务器

7)指定主服务器信息:不需要停止服务器,可以为从服务器指定不同的主服务器,CHANGE MASTER TO MASTER_HOST='主服务器的ip地址',

-> MASTER_USER='主服务器账户名',

-> MASTER_PASSWORD='主服务账户密码',

-> MASTER_LOG_FILE='二进制文件名'

-> MASTER_LOG_POS=0(从日志的开始位置开始读)

8)查看从服务器的设置是否正确:show slave status\G

web应用加速方案(反向代理)

代理服务器概述:介于客户端和web服务器之间的另一台服务器称为代理服务器。具有缓存功能,有很大的存储空间,不断将新取得的数据存到本地的存储器上,如果已经存在用户请求的数据会直接将数据发送给用户,从而显著提高浏览速度和效率

代理服务器工作流程:浏览器不直接到web服务器取回网页,而向代理服务器发出请求,信号先送到代理服务器,由代理度武器取回浏览器锁需要信息并传送给浏览器

代理服务器作用

1)利用反向代理服务器的安全特性处理事务

2)利用高速缓存特性在高并发量的服务器上加速

反向代理服务器:Nginx(也是高性能web服务器)、Squid(功能非常强大,可以做传统代理、访问控制、身份验证、流量管理。squid体积非常庞大,配置过于复杂)、Varnish(专注于反向代理,更简单、效率更高)

异步计算方案:Gearman

web应用比较耗时的操作:

1)剪裁用户上传的图片,或者生成缩略图

2)用户上传文件分发到多台服务器上

3)对上传视频进行转码

Geraman概述:Gearman是一个分发任务的程序框架。包含3部分:Client(创建并发起一个Job请求)、Job Server(找到合适的worker,并把job交给worker)、Worker(执行job,所有job都是由worker完成)。可以使用Gearman异步发送邮件

Geraman工作流程:Client负责把一个job发送给job server,job server从worker群中找到合适的worker并发送job。worker负责处理job,完成后把结果发送给job server,接着job server 把worker发送的结果返回给client。另外gearman支持异步模式,client不必等待worker返回处理结果而直接返回,从而实现异步计算

需要了解并掌握的知识

1、吞吐率:单位时间内服务器处理的请求数

2、压力测试:测试工具LoadRunner、Jmeter、ab

ab是apache附带的压力测试软件,容易使用,ab常用的参数:

1)-n:在测试会话中执行的请求个数,默认执行一个请求

2)-c:要创建的并发用户数,默认创建一个用户数

3)-t:等待web服务器响应的最大时间(秒),默认没有时间限制

4)-k:使用Keep-Alive特性

5)-c:对请求附加一个Cookie

3、持久连接:又称为长连接,指tcp连接中持续发送多分数据而不断开的连接,与之对应的称为短连接,就是连接后发送一次数据便断开连接。

转载于:https://my.oschina.net/u/863367/blog/864995

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

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

相关文章

爬一爬哪个操蛋的药品网站,建立药品库

阅读文本大概需要5分钟。互联网医疗公司,有一个完整、完全、正确的药品库非常重要;今天来说一说小编在上一个东家为了建立一个自己的药品库是怎么做的。首先我们是一家小公司,但是我们有一个纽约敲钟的梦想,虽然就要闹得发不了工资…

从零开始写项目终极【维护网站、修复Bug】

url自动携带jsessionid在我使用浏览器收藏了我写的网站的时候,有的时候会访问不了页面。看了一下原因,是由于url携带了jsessionId,我就奇怪为啥会自动携带jsession了。我分析是由“记住我“功能引起的这个bug,于是我就去查找了一下…

classname帝国怎么用php调用,分享帝国cms怎么调用栏目别名考虑到seo优化

在新模板制作过程中,由于栏目名称比较长,用在标题上没有问题,对seo有利,但是在页面上不希望这么长,简单即可,提过提供了栏目别名,如果能调用就方便了,请留意下面的修改方法修改后栏目…

监听器应用【统计网站人数、自定义session扫描器、踢人小案例】(修订版)

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器。这篇博文主要讲解的是监听器的应用。统计网站在线人数ps:这个可以使用We…

大型分布式网站架构设计与实践

阅读文本大概需要3分钟。SOA和RPC随着互联网规模发展,面向服务的体系架构(SOA)成为主流的架构方式,SOA的本质思想是高内聚、低耦合地实现分治,各个系统之间通过服务的方式进行交互,这样保证了交互的标准性,这对于一个复…

为什么有些网站域名不以www开头?什么是二级域名?

本文公众号来源:漫话编程 作者:漫话编程我在初学的时候不清楚啥叫顶级域名,啥是二级域名以及为啥我们输入网站地址的时候可以省略www!这篇文章通俗易懂地告诉你!38女神节那一天,女朋友问我淘宝网国际站的…

大型网站技术架构剖析

阅读文本大概需要3分钟。大型网站系统特点高并发,大流量高可用海量数据用户分布广泛,网络情况复杂安全环境恶劣需求快速变更,发布频繁渐进式发展大型网站发展演化过程一台服务器特点:没人应用程序、数据库、文件都在一个服务器。应…

[网站优化实战]公共CDN库/Nginx启用Gzip/全站CDN加速

本文公众号来源:Rude3Knife 作者:蛮三刀把刀网站加载优化的过程(主要针对静态资源),思路可以借鉴一下!前言接触到CDN的起因:我自己搭建的网站https://price.monitor4all.cn/网页打开的速度一直…

《大型网站系统与Java中间件》读书笔记(上)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这本书买了一段时间了,之前在杭州没带过去,现在读完第三章,来做做笔记 这本书前三章都在科普和回顾中间件/分布式…

《大型网站系统与Java中间件》读书笔记 (二)

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y回顾上一篇:《大型网站系统与Java中间件》读书笔记(一)这周周末读了第四章,现在过来做做笔记&#xff0…

《大型网站系统与Java中间件》读书笔记 (中)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾上一篇: 《大型网站系统与Java中间件》读书笔记(一) 这周周末读了第四章,现在过来做做笔记&am…

几个简单步骤可以提高网站浏览体验

摘要: STEP 1确定网站定位 你的网站定位是要以企业形象官网为主,或是以单纯贩售商品的购物网站,还是要跟使用者做互动活动的网站? 每个网站的目的都不尽相同,形象官网,可能需要着重于品牌理念、品牌故事、…

一次面试引发的思考(中小型网站优化思考)

前言 故事的起因是这样的,由于本人地处偏僻工作地点在美丽的冰城哈尔滨虽然地方很美丽,但是这里的软件行业实在是算不上“美丽”,这么多年由于个人原因或者公司原因经常换工作,因为这里都是中小型公司,没有什么大公司。…

我采访了同事,让他掏出了每天都会浏览的干货网站...这几个网站也太牛了吧!

前言 在周六的晚上,我日常去到公司写文章。想写一篇程序员常浏览的网站,刚好同事在我后面看我在干什么。于是我就对他进行了采访,问了一下他常去的网站有哪些。 这次我采访的是鸡蛋,他跟我一样大,但是技术比我优秀实在…

Django项目实践4 - Django网站管理(后台管理员)

http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类站点, 管理界面 是基础设施中很重要的一部分。这是以网页和有限的可信任管理者为基础的界面,它能够让你加入&#xff0…

亿级流量网站构架核心技术

高并发原则无状态拆分系统维度:根据系统功能/业务进行拆分功能维度:对一个系统进行功能再拆分读写维度:根据读写比例进行拆分AOP维度:根据访问特征模块维度:比如按照基础或代码维护特征进行拆分服务化:进程…

Python教程 - 廖雪峰的官方网站

2019独角兽企业重金招聘Python工程师标准>>> https://www.liaoxuefeng.com/ 转载于:https://my.oschina.net/u/3563297/blog/1622686

这也许是破解所有网站

您还担心各种资源获取不到吗?这里聚集了广大网友的智慧结晶所在! 现在的技术真的是越来厉害了,而且相比于以往复杂的操作 现在的黑科技仿佛特别“亲民” 比如 我之前发过在“baidu”后面加“wp” 就能高速下载百度云资源 而且自己不需要…

thinkphp5项目--企业单车网站(五)

thinkphp5项目--企业单车网站(五) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps://github.com/fry404006308/BicycleEnterpriseWebsite 一、BeyondAdmin使用 1、里面的功能真的超级全,连编辑器都有&…

使用Nginx实现多台服务器网站负载均衡的配置方法介绍

使用Nginx实现网站负载均衡的配置方法介绍1.准备工作1.1 Linux系统安装Nginx1.2 准备三台服务器1.3配置主服务器nginx访问路径1.4访问主服务器2.Nginx负载均衡的几种不同方式介绍2.1 轮询2.2 权重2.3 iphash2.4 最少连接2.5 fair服务器的响应时间来分配3.Nginx配置1.准备工作 …