【JavaWeb】应用服务器性能优化

简介: 【JavaWeb】应用服务器性能优化

应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变化最多的地方,优化手段主要有缓存、集群、异步等。

一、分布式缓存

回顾网站架构演化历程,当网站遇到性能瓶颈时,第一个想到的解决方案就是使用缓存。在整个网站应用中,缓存几乎无所不在,既存在于浏览器,也存在于应用服务器和数据库服务器;既可以对数据缓存,也可以对文件缓存,还可以对页面片段缓存。合理使用缓存,对网站性能优化意义重大。

网站性能优化第一定律:优先考虑使用缓存优化性能。

1.1 缓存的基本原理

缓存指将数据存储在相对较高访问速度的存储介质中,以供系统处理。一方面缓存访问速度快,可以减少数据访问的时间,另一方面如果缓存的数据是经过计算处理得到的那么被缓存的数据无需重复计算即可直接使用,因此缓存还起到减少计算时间的作用。

缓存的本质是一个内存Hash表,网站应用中,数据缓存以一对Key、ale的形式存储在内存Hash表中。Hash表数据读写的时间复杂度为o(1),图Hash表存储例子为一对KV在Hash表中的存储。

计算KV对中Key的 Hash Code对应的Hash表索引,可快速访问Hash表中的数据。许多语言支持获得任意对象的 Hash Code,可以把 Hash Code理解为对象的唯一标示符,Java语言中 Hashcode方法包含在根对象 Object中,其返回值是一个Int。然后通过 Hashcode计算Hash表的索引下标,最简单的是余数法,使用Hash表数组长度对 Hashcode求余,余数即为Hash表索引,使用该索引可直接访问得到Hash表中存储的KV对。Hash表是软件开发中常用到的一种数据结构,其设计思想在很多场景下都可以应用。

缓存主要用来存放那些读写比很高、很少变化的数据,如商品的类目信息,热门词的搜索列表信息,热门商品信息等。应用程序读取数据时,先到缓存中读取,如果读取不到或数据已失效,再访问数据库,并将数据写入缓存,如图使用缓存存取数据示例所示。

 

 

参考资料:大型网站技术架构核心原理与案例分析第四章

完结!


相关文章
|
5月前
|
应用服务中间件
【JavaWeb学习】—停止Tomcat服务器的几种方式(九)
【JavaWeb学习】—停止Tomcat服务器的几种方式(九)
|
5月前
|
Java 应用服务中间件
【JavaWeb学习】—如何启动Tomcat服务器(六)
【JavaWeb学习】—如何启动Tomcat服务器(六)
|
应用服务中间件 nginx
JavaWeb - 获取客户端真实 IP(通过反向代理 Nginx)非服务器 IP(二)
JavaWeb - 获取客户端真实 IP(通过反向代理 Nginx)非服务器 IP(二)
390 0
|
8天前
|
开发框架 Java .NET
什么是JavaWeb(概念|应用|服务器)?
什么是JavaWeb(概念|应用|服务器)?
5 1
|
5月前
|
应用服务中间件
【JavaWeb学习】—IDEA整合Tomcat服务器(十二)
【JavaWeb学习】—IDEA整合Tomcat服务器(十二)
|
2月前
|
开发框架 Java .NET
JavaWeb概念、应用、服务器
静态网站是指在服务器上预先准备好的网页内容,用户访问时服务器直接将这些静态页面发送给用户浏览器,没有经过额外的处理或数据库查询。
12 0
|
5月前
|
Java 关系型数据库 MySQL
阿里云服务器部署JavaWeb心得
阿里云服务器部署JavaWeb心得
64 0
|
5月前
|
网络安全 Windows
阿里云服务器公网ip访问部署的JavaWeb项目
阿里云服务器公网ip访问部署的JavaWeb项目
124 0
|
6月前
|
前端开发 网络协议 Java
全网最详细JavaWeb环境配置,以及服务器搭建
全网最详细JavaWeb环境配置,以及服务器搭建
170 0
|
7月前
|
开发框架 前端开发 JavaScript
02JavaWeb基础 -Tomcat服务器介绍与安装
02JavaWeb基础 -Tomcat服务器介绍与安装
29 0

热门文章

最新文章