网站性能

浅析网站性能 一、不同角度的网站性能普通用户认为的网站性能 网站性能对于普通用户来说,最直接的体现就是响应时间。用户在浏览器上直观感受到的网站响应速度,即从客户端发送请求,到服务器返回响应内容的时间。 做为网站开发人员来说,网站性能通常会和普通的用户理解的不一样。 普通用户感受到的网站性能,并不只是由网站服务器决定的。它还包括客户端计算机和服务器通信的时间,网站服务器处理响应的时间,客户端浏览器构造请求解... 阅读详情

转自【http://www.python88.cn/book/flask55/】

一、不同角度的网站性能

普通用户认为的网站性能

网站性能对于普通用户来说,最直接的体现就是响应时间。用户在浏览器上直观感受到的网站响应速度,即从客户端发送请求,到服务器返回响应内容的时间。

做为网站开发人员来说,网站性能通常会和普通的用户理解的不一样。

普通用户感受到的网站性能,并不只是由网站服务器决定的。它还包括客户端计算机和服务器通信的时间,网站服务器处理响应的时间,客户端浏览器构造请求解析响应数据的时间。甚至,不同的计算机性能、不同浏览器解析HTML的速度、不同网络运营商提供的网络带宽房屋的差异,这些都会导致用户感受到响应时间,可能大于网站服务器处理请求的时间。

开发人员认为的网站性能

开发人员关注的主要是服务器应用程序本身,以及相关配套系统的性能。包括并发处理能力、系统稳定性、响应延迟等技术指标。

对性能优化的主要手段,包括使用缓存加速数据读取,使用集群提高数据吞吐能力,使用异步消息加快请求响应,使用代码改善程序性能。

运维人员认为的网站性能

运维人员关注的主要是服务器基础设施和资源利用率。如服务器硬件的配置、网络运营商的带宽、数据中心的网络架构等。主要优化手段有使用高性价比的服务器、建设优化骨干网络、利用虚拟化技术优化资源利用等。

二、性能的指标

从开发人员的角度,网站性能的指标主要有并发数和响应时间。

并发数

并发数是指系统能够处理请求的数量,对于网站服务器而言,并发数也就是网站并发用户数,指同时提交请求的用户数目。

与并发数相对应的还有网站在线用户数(登录用户数)和网站用户数(一般指注册用户数)。他们的关系一般是:网站用户数>网站用户在线数>网站用户并发数

响应时间

响应时间是最重要的性能指标,直接反映了系统的快慢。

常见的系统操作响应时间

操作响应时间
打开一个网站几秒
在数据库中查询一条记录(有索引)十几毫秒
机械磁盘一次寻址定位4毫秒
从机械磁盘顺序读取1MB数据2毫秒
从SSD磁盘顺序读取1MB数据0.3毫秒
从远程分布式缓存Redis读取一个数据0.5毫秒
从内存中读取1MB数据十几微秒
网络传输2KB数据1微秒

三、性能的优化

对于开发人员来说,网站性能优化一般包括Web前端性能优化、应用服务器性能优化、存储服务器性能优化三类。

Web前端性能优化

1、减少http请求 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路、进行数据传输,而在服务器端,每个http请求都需要启动独立的线程去处理。减少http请求的数目可有效提高访问性能。

减少http的主要手段是合并CSS、合并javascript、合并图片。

2、使用浏览器缓存 对一个网站而言,CSS、javascript、logo、图标,这些静态资源文件更新的频率都比较低,而这些文件又几乎是每次http请求都需要的。如果将这些文件缓存在浏览器中,可以极好的改善性能。通过设置http头中的cache-control和expires的属性,可设定浏览器缓存,缓存时间可以自定义。

3、启用压缩 在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效减少通信传输的数据量。如果可以的话,尽可能的将外部的脚本、样式进行合并,多个合为一个。文本文件的压缩效率可达到80%以上,因此HTML、CSS、javascript文件启用GZip压缩可达到较好的效果。但是压缩对服务器和浏览器产生一定的压力,在网络带宽良好,而服务器资源不足的情况下要综合考虑。

4、CSS放在页面最上部,javascript放在页面最下面 浏览器会在下载完成全部CSS之后才对整个页面进行渲染,因此最好的做法是将CSS放在页面最上面,让浏览器尽快下载CSS。 Javascript则相反,浏览器在加载javascript后立即执行,有可能会阻塞整个页面,造成页面显示缓慢,因此javascript最好放在页面最下面。

应用服务器优化

应用服务器也就是处理网站业务的服务器,网站的业务代码都部署在这里,主要优化方案有缓存、异步、集群等。

1、合理使用缓存

当网站遇到性能瓶颈时,第一个解决方案一般是缓存。在整个网站应用中,缓存几乎无处不在,无论是客户端,还是应用服务器,或是数据库服务器。在客户端和服务器的交互中,无论是数据、文件都可以缓存,合理使用缓存对网站性能优化非常重要。

缓存一般用来存放那些读写次数比较高,变化较少的数据,比如网站首页的信息、商品的信息等。应用程序读取数据时,一般是先从缓存中读取,如果读取不到或数据已失效,再访问磁盘数据库,并将数据再次写入缓存。

缓存的基本原理是将数据存储在相对有较高访问速度的存储介质中,比如内存。一方面缓存访问速度快,另一方面,如果缓存的数据是需要经过计算处理得到的,那使用缓存还可以减少服务器处理数据的计算时间。

使用缓存并不是没有缺陷:内存资源是比较宝贵的,不可能将所有数据都缓存,一般频繁修改的数据不建议使用缓存,这会导致数据不一致。

网站数据缓存一般遵循二八定律,即80%的访问都在20%的数据上。所以,一般将这20%的数据缓存,可以起到改善系统性能,提高服务器读取效率。

2、异步操作

使用消息队列将调用异步化,可以改善网站系统的性能。

在不使用消息队列的情况下,用户的请求直接写入数据库,在高并发的情况下,会对数据库造成非常大的压力,也会延迟响应时间。

在使用消息队列后,用户请求的数据会发送给消息队列服务器,消息队列服务器会开启进程,将数据异步写入数据库。消息队列服务器的处理速度远超过数据库,因此用户的响应延迟可得到改善。

消息队列可以将短时间内的高并发产生的事务消息,存储在消息队列中,从而提高网站的并发处理能力。在电商网站的促销活动中,合理使用消息队列,可以抵御短时间内用户高并发的冲击。

异步消息队列

3、使用集群

在网站高并发访问的情况下,使用负载均衡技术,可以为一个应用构建由多台服务器组成的服务器集群,将并发访问请求,分发到多台服务器上处理,避免单一服务器因负载过大,而导致响应延迟。

4、代码优化

网站的业务逻辑代码主要部署在应用服务器上,需要处理复杂的并发事务。合理优化业务代码,也可以改善网站性能。

任何web网站都会遇到多用户的并发访问,大型网站的并发用户会达到数万。每个用户请求都会创建一个独立的系统进程去处理。由于线程比进程更轻量,占用资源更少,所以,目前主流的web应用服务器都采用多线程的方式,处理并发用户的请求,因此,网站开发多数都是多线程编程。

使用多线程的另一个原因是服务器有多个CPU,现在手机都到了8核CPU的时代,一般的服务器至少是16核CPU,要想最大限度的使用这些CPU,必须启动多线程。

那么,启动多少线程合适呢?

启动线程数和CPU内核数量成正比,和IO等待时间成正比。如果都是计算型的任务,那么线程数最多不要超过CPU内核数,因为启动再多,CPU也来不及调用。如果任务是等待读写磁盘、网络响应,那么多启动线程会提高任务并发度,提高服务器性能。

或者用个简化的公式来描述:

启动线程数 = (任务执行时间/(任务执行事件 - IO等待时间)) * CPU内核数

5、存储优化

数据的读写是网站处理并发访问的另一瓶颈。使用缓存虽然可以解决一部分数据读写压力,但很多时候,磁盘仍然是系统最严重的瓶颈。而且磁盘是网站最重要的资产,磁盘的可用性和容错性也至关重要。

机械硬盘和固态硬盘 机械硬盘是目前最常用的硬盘,通过马达带动磁头到指定磁盘的位置访问数据,每次访问数据都需要移动磁头,在读取连续数据和随机访问上,磁头移动的次数相差巨大,因此机械硬盘的性能表现差别巨大,读写效率较低。而在网站应用中,大多数数据的访问都是随机的,在这种情况下,固态硬盘具有更高的性能。但目前固态硬盘在工艺上、数据可靠性上还有待提升,因此固态硬盘的使用尚未普及,从发展趋势看,取代机械硬盘应该是迟早的事情。

总结:

网站性能优化是在用户高并发访问,网站遇到问题时的解决方案。所以网站性能优化的主要内容是改善高并发用户访问情况下的网站响应速度。

网站性能优化的最终目的是改善用户的体验。但性能优化本身也是需要综合考虑的。比如说,性能提高一倍,服务器数量也要增加一倍,这样的优化是否可以考虑?

技术是由业务驱动的,离开业务的支撑,任何性能优化都是空中楼阁。

网站性能优化技巧和详细教程 OK 以上就是本期内容,虽然这并不是所有的网站优化方法(还有后端优化、Web Workers、Service Worker、WebAssembly 等等),但已经能够覆盖绝大多数优化场景了。大家可以按照上面提到的方法,一步步按需优化自己的网站。 阅读详情

相关推荐

Mac版UltraEdit 18.00.0.19破解教程:终端一行命令搞定(附版本适配指南)

本文为Mac用户提供了UltraEdit的合法替代方案与授权指南,强调破解软件的法律风险和安全隐忧。推荐使用VS Code、Sublime Text等开源或商业编辑器,结合终端工具如Vim/Neovim,实现高效文本编辑。同时详细介绍了UltraEdit的官方授权选项,帮助开发者在遵守软件许可的前提下提升工作效率。

k9l0m1的博客 357

Web性能的优化

Web性能的优化 对于开发人员来说,网站性能优化一般包括Web前端性能优化、应用服务器性能优化、存储服务器性能优化三类。 Web前端性能优化 1、减少http请求 http协议是无状态的应用层协议, 意味着每次http请求都需要建立通信链路、进行数据传输,而在服务器端,每个http请求都需要启动独立的线程去处理。减少http请求的数目可有效提高访问性能。 减少http的主要手段是合并CSS、合并j...

baidu_27922823的博客 343

D类功放几种常见“爆破音”问题根源与改善措施

在数字D类功放刚上电或功放播放状态切换时,人耳偶尔会听到“嘣”的声音,我们把这个爆破的Pop Noise。数字功放Pop Noise 出现的原因有很多,本文主要分析Pop Noise 出现原因,并提供相应解决方法。

qq_26815321的博客 3591

Web 开发性能优化汇总(强烈推荐)

💥文章围绕后端架构师提升系统性能的方法展开,介绍了缓存、批量处理、异步处理、数据压缩、并行化处理、避免不必要的请求这 6 大核心优化策略。分别阐述了各策略的原理、常见场景、优势与挑战,强调要根据业务场景合理设计,避免优化过度或引入新的复杂性,以提升系统响应速度和资源利用效率,保证系统稳定性和扩展性。

李赛赛的专栏 1471

家庭宽带IPv6避坑指南:如何通过DHCPv6-PD获取公网地址(附OpenWRT配置)

本文详细解析了家庭宽带IPv6的地址分配机制,重点介绍了通过DHCPv6-PD获取公网地址的方法,并提供了OpenWRT路由器的具体配置步骤。从路由器通告(RA)标记位到前缀委派(PD)流程,帮助用户解决IPv6部署中的常见问题,实现稳定高效的IPv6网络连接。

backprop5master的博客 1198

Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南

在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX

weixin_34038293的博客 467

Web服务器及性能优化

一、WEB服务器 1.1 概述: 1.2 区别: 1.2.1 Apache 1.2.2 Tomcat 1.2.3 Jboss 二、浏览器端,关于浏览器端优化 2.1 压缩源码和图片 2.2 选择合适的图片格式 2.3 合并静态资源 2.4 开启服务器端的Gzip压缩 2.5 使用CDN 2.6 延长静态资源缓存时间 2.7 把CSS放在页面头部,把JavaScript放在页面底部 ...

君子敏于行而讷于言 2万+

Python爬虫实战:研究Pandas,构建车质网各车型数据采集和分析系统

研究结果表明,通过网络爬虫技术可以有效地获取公开的汽车投诉数据,这些数据经过适当的清洗和处理后,可以揭示出丰富的汽车质量信息。)作为国内专业的汽车质量投诉受理平台,自 2010 年成立以来,已累计接收消费者投诉信息超过 200 万条,这些数据包含了车型、投诉时间、投诉问题、处理状态等多维度信息,具有极高的分析价值。:通过对车质网数据的分析,能够挖掘出有价值的汽车质量信息,为消费者购车提供参考,为汽车厂商改进产品质量和服务提供依据,同时也能为相关监管部门提供数据支持。

ylfhpy的博客 938

Web性能优化方法总结

web性能优化 一、页面优化 1、减少HTTP请求数量 1、从设计实现层面简化页面:尽量将页面设置成百度首页那样,保持页面简洁、减少资源的使用。 2、合理设置HTTP缓存:合理设置缓存可以大大地减少HTTP请求,怎么叫合理呢?原则很简单,能缓存越多越好,能缓存越久越好。 3、资源合并和压缩:尽可能将外部脚本、样式进行合并,多个合为一个;Css、Javascript、image也可以使用工具进行压...

lh9456的博客 2585

perl 安装DBI和DBD

还可以从cpan.perl.org站点下载tar压缩文件形式的源代码发行版本,解压缩后,切换到相应的文件目录 cd DBI-1.54 perl Makefile.PL make make test make install 安装DBD时候 需要export ORACLE_HOME 验证安装: perldoc DBD::Oracle perldoc DBI 在线文档; perldoc -m

zhaoyangjian724的专栏 1754

【MATLAB】工业传送带速度闭环控制与张力联合仿真

本文基于MATLAB/Simulink平台,构建了工业传送带速度闭环控制与张力联合仿真系统。通过搭建驱动模块、机械传动模块、检测模块和控制模块,实现了速度与张力的协同控制。采用双PID调节器分别整定速度与张力参数,经联合调试后系统性能良好:速度跟踪误差小于±0.03m/s,张力波动控制在±30N内,负载扰动恢复时间仅0.3秒。研究提供了从建模到参数优化的完整工程方案,可直接应用于课程设计或工业实践,有效解决了传送带运行中速度偏差与张力波动的协同控制难题。

unber的博客 78

web 服务器性能调优,Web应用性能优化随笔

优化思路是什么?BIG QUESTION: 当我们谈到一个web应用的性能优化,应该从哪些方面去考虑?思路就是,当我们去访问一个web应用的时候,都做了哪些操作?对应这些操作的,就是我们所能进行的优化的模块!浏览器请求DNS服务器,获取IP地址;建立TCP连接;浏览器发出详细请求,通常为HTTP(s)、WebSocket之类;服务器响应请求,并返回数据;浏览器渲染返回的数据到页面;释放TCP连接;...

weixin_39737240的博客 442

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

如何测试网站的性能

前言:真的是感谢广大的博友啊,让自己收获很多。所以自己也要努力多做贡献,今天在看别人博客的时候发现了一个很好的网站,那就是测试网站的性能。网站性能测试网址在这里不仅会告诉你网站的性能如何,还会告诉你如何去优化自己的网站,真的是一个良性网站顺便放两张测试自己网站的结果图 在27项测试指标中,有21项接近满分,个人觉得还是挺不错了,在进行进一步优化以后,应该会取得更加好的成果。有了

wd 2406

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

网站性能评测实验

实验内容 本实验的目的是利用主流的网站分析工具对Alexatop100的前5名网站进行分析,评价其网站性能。在本实验中,我将在Windows平台下进行实验,评测的网站是目前Alexatop 100 的前5名的网站,包括google.com, Facebook.com, Youtube.com, Yahoo.com 和baidu.com。但是由于网络的问题,我们无法登陆到Facebook.com和

追梦船的专栏 2853

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

网站性能比较

Steve Souders曾经写了一些比较网站性能的测试页面,让人感觉非常直观并且印象深刻。最近Show Slow提供另外一种网站性能比较的方式, 它根据的是YSlow和Page Speed的评分来比较。 除去比较,它还能记录某个网页的历史记录,这个非常有意思,可以方便看到页面性能的变化。 Show Slow是一个开源的项目,所以可以很方便的部署在本地,用于监视应用性能的变化。

Danwang的博客 1078

网站加载慢、卡? 8个网站性能优化逆袭方法

网站体积优化、.网站传输优化、网站加载优化,8个网站性能优化逆袭方法

编程技术、独立开发、技术资讯以及编程感悟等内容 2439

测试网站性能的工具

If you already consider website design, development, content, and SEO as the parameters of success on the web, then it’s the right time to start giving attention to your website’s loading time. 如果您已经...

culh2177的博客 788

前端如何进行网站性能分析及优化性能

目录 1.分析网站性能常用的方式 1.1chrome dev Tools 1.2Lighthouse 1.3第三方收费方案 2.介绍一个常用的性能分析工具 LightHouse 2.1 特点: 2.2 使用方式 2.3 代码示例 2.4性能报告 3.准确衡量网站的性能 3.1是否发生 3.2是否有用 3.3是否可用 3.4是否令人愉快 使用是否流畅,有没有发生预料外的视觉偏移。 1.分析网站性能常用的方式 ...

接着奏乐接着舞的博客 4419

网站性能检测与优化

关于个人博客网站的一些优化, 介绍Lighthouse工具的使用, 易操作, 可移植

m0_62201229的博客 2023

优化网站性能笔记

优化网站性能 1.为什么需要优化网站     1.1 大型网站的特点:         > 高访问量         > 同时在线人数多         > 数据量庞大         > 数据操作频繁     1.2 网站性能监测指标:         > 日访问量[1万人,涉及购买带宽]         > 同时在线人数[500-800人,可能影响买服务器设备配置]

jiangtongcn的专栏 898

如何衡量一个网站的性能

衡量一个网站的性能通常从网站空间大小、网站位置、网站连接速度(俗称“网速”)、网站软件配置、网站提供服务等几方面考虑,最直接的衡量标准是这个网站的真实流量。建设网站考虑因素:1、网站的客户服务群体;2、网站的内容方向和性质;3、网站的功能描述和结构分析;4、网站的用户体验;5、网站的盈利方式;6、网站的未来发展方向。 转载于:https://www.cnbl...

534

【前端性能】网站性能优化

网站性能优化 1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。 1、合并文件:合并文件是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,例如可以简单地把所有的C

嗨Sirius 2857

网站测速工具:提升网站性能的关键一步

山海云端工具箱提供的在线网站测速工具,能够快速检测网站的响应时间、加载速度和性能指标等关键数据。这款工具以其免费、准确的特点,为站长和开发者提供了一个实时监控网站性能的解决方案。网站测速是网站性能优化的重要一环。山海云端工具箱提供的在线网站测速工具,以其便捷性和准确性,成为了站长和开发者优化网站性能的得力助手。通过定期使用这款工具,可以及时发现并解决网站性能问题,提升用户体验,增加网站竞争力。以上就是对山海云端工具箱提供的在线网站测速工具的介绍。

SHANHAI4455的博客 528

我救了一个网站,性能提升了1500 多倍!

虽然这并不是所有的网站优化方法(还有后端优化、Web Workers、Service Worker、WebAssembly 等等),但已经能够覆盖绝大多数优化场景了。大家可以按照上面提到的方法,一步步按需优化自己的网站。

努力做最接地气的编程干货分享,感谢关注 873

网站性能优化

网站性能优化是一个持续的过程,需要从前端、后端和网络传输等多个层面进行综合优化。通过遵循本教程中的最佳实践,您可以显著提高网站的加载速度和用户体验。记住,性能优化不只是技术问题,也是业务价值的体现——更快的网站带来更高的用户满意度和转化率。

wscfan的博客 1348
上一篇: Restful
下一篇: Django 模板配置 TEMPLATES
love小在在
博客等级 码龄20年 8粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值