杨亮:【性能优化领域】ESI初探

ESI原理介绍

ESI的全称是Edge Side Includes,是一个基于XML的标记语言,目的是在HTTP中组装各种资源。
在实际环境中,一个动态生成的页面,当中可能只有少量的内容是频繁变化的或是个性化的,对于传统的Cache服务器来说,为了能够保证页面的时效性,却由于页面中这些少量的动态内容而无法将整个页面进行缓存。
ESI
通过使用简单的标记语言来对那些可以缓存和不能缓存的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。

ESI前端实现

前端页面渲染,管理缓存片段,包括获取,解析,注入,失效处理

基于WebServer实现

页面标签方式定义缓存内容,在通过服务器软件直接与缓存服务服务器进行交互。
例子:

<html>
<body>
<h1>Welcome ESI!!</h1>
<p><esi:include src="test.vm.esi?id=100" max-age="45"/></p>
</body>
</html>

vm 模板中: esiTool.setTemplate('test.vm').addQueryData('id', 100) ,
jboss
输出时会转换成: <esi:include src="test.vm.esi?id=100" />
mod_esi
中:解析到esi 标签,拿到test.vm.esi?id=100 作为key,到缓存中查询,如果能查询到,直接输出内容。
如果没有查询到,访问 jboss,请求内容,请求到数据后,将数据写入缓存,并输出。



 

目前比较成熟的是apache+mod_esi

缺点

1、绑死了应用服务器软件,迁移到其他服务器平台成本比较高。
2
、因为是依赖服务器插件,不好对现有功能进行扩展或优化

基于webx实现

参考淘宝成熟的ESI方案,借鉴ESI的原理,通过扩展WEBX,结合velocity的control来实现的

 



 在
vm文件中使用pageCachePullTool来调用缓存片段,实现对key的生成,获取缓存片段,及对失效缓存的处理。
$pageCache.setTemplate("example/exampleControl.vm").setParameter("parm1","value1").setParameter("parm2","value2")

 



 缺点

1、侵入webx

ESI后端存储

存储缓存页面片段的地方,要求:高性能,高并发。

tair

tair 是淘宝开发的一个分布式 key/value 存储引擎.支持基于内存MDB和文件FDB两种存储方式。

aranda

aranda是平台技术开发一个分布式文件系统,已使用到图片银行等应用中,但目前还没有实现缓存超时失效管理功能。

memcache

目前网站大量使用的缓存系统,功能全面,成熟可靠。推荐选择此方案!

ESI应用场景

应用特点

1.    页面可分片

2.    页面分片内容共享率高,访问量高

3.    页面分片内容修改不频繁

旺铺

旺铺的页面都是widget组装而成,每个widget都是由一个模板文件和多个DataFeeder组成,widget之间互相独立。
特别是侧边的几个widget在同一个旺铺中的很多页面都是共享的,非常适合对这些共享率高的widget使用ESI分片缓存。
从而减少每次页面需要实时生成的动态内容,减少整个页面的响应时间,同时降低了整个服务器的负载。


 

TC8测试TCP-UNACCEPTABLE-04/006 立即下载

相关推荐

PSIM-串联谐振半桥LLC开关电源+PFM变频闭环控制【仿真+计算书+参考文献】

内容概要:本文档系统性地整合了电力电子与控制系统仿真领域的丰富资源,聚焦于基于PSIM和Simulink平台的串联谐振半桥LLC开关电源建模与仿真,深入探讨PFM变频闭环控制策略的设计与实现。内容涵盖LLC谐振变换器的工作原理、关键参数设计、开环与闭环仿真模型构建、软开关技术(ZVS/ZCS)、恒压恒流双竞争控制机制以及调频控制等核心技术,配套提供完整的仿真文件、计算书和参考文献,有助于深入理解高频开关电源系统的动态响应特性与稳定性分析方法。此外,文档还汇集了大量拓展性仿真资源,涉及双向DC-DC变换器、PWM整流器、PFC电路、储能系统、微电网优化、DAB变换器、并网逆变器等多个方向,构成一套完整的科研与工程实践参考资料体系。; 适合人群:适用于电力电子、电气工程及其自动化等相关专业的高校本科生、研究生,以及从事开关电源设计、新能源系统开发、电力变换器研发等工作的工程技术人员。; 使用场景及目标:①深入学习LLC谐振变换器的拓扑结构与闭环控制原理;②掌握PSIM/Simulink在电力电子系统中的高精度建模与仿真技能;③为科研项目、学位论文或产品开发提供可复用的技术方案与代码基础;④深化对PFM控制、软启动过程、ZVS/ZCS实现机制及系统稳定性的理解; 阅读建议:建议结合文档中提供的仿真模型与计算书进行同步操作,优先剖析主电路拓扑与控制逻辑架构,再逐步开展参数调节与仿真验证实验,同时可参考所列相关资源拓展技术视野,提升综合设计能力。

ESIA方法 流程优化工具

ESIA是四个步骤的缩写,即消除(Eliminate)、简化(Simply)、整合(Integrate)和自动化(Automate)‌12。ESIA方法是一种循序渐进的流程优化法,通过这四个步骤层层递进,最终实现流程整体性和系统性的优化,从而提高流程的运行效率,增加客户在价值链上的价值分配,并增强企业的核心竞争力‌2。这些活动可能包括过量产出、活动间的等待、不必要的运输、反复加工、过量库存、缺陷与失误、重复活动、反复检验等‌12。这可能包括活动、团队、顾客和供方的整合,以及机构整合和团队整合等‌2。

cuisidong1997的博客 1686

实战指南:用Python实现ONVIF WS-Discovery设备发现(附完整代码)

本文提供了一份详细的实战指南,介绍如何使用Python实现基于ONVIF标准的WS-Discovery设备发现协议。文章深入解析了协议原理、网络通信模型,并提供了完整的代码实现,帮助开发者快速构建智能安防和物联网应用中的设备自动发现工具,有效提升网络设备集成与管理的效率。

chair的专栏 1113

大型网站之网站静态化(ESI)

原文:http://blog.jobbole.com/84333/ ESI(Edge Side Include)通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的

Robin Hu的专栏 4796

R | 提取文件夹内栅格数据的最小值、最大值、标准差和平均值

各位同学好,我们长需要用长时间序列栅格数据的平均值做变量的时间变化分析,用代码能够帮助我们省下很多时间。

qq_48539301的博客 449

服务器AutoDL自己部署QWen3

说明:核心参数:30B 模型原精度权重文件约 60GB,单张 PRO 6000 拥有 48GB 显存,单卡塞不下原精度模型,2张 PRO 6000 = 96GB 总显存,这不仅能装下模型,还能留出约 30GB 显存给 KV Cache(上下文长度) 以及 Omni 多模态组件 处理图片/视频输入时的额外开销。1. 前提准备模型选择:直接下载到 AutoDL 服务器上=》原精度模型(BF16/FP16) 的 Qwen3-Omni-30B,选择的示例和环境如下。# 3. 正式执行模型下载。

xiaoxiao_00001的博客 414

Web server调研分析

简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群。本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析。 调研分析 业界相关 从业界使用情况来看,最新Web Server使用情况的数据如下:Nginx的使用率是6.6%,Lighttpd的使用率是0.51%。 ...

weixin_34383618的博客 407

步科触摸屏编程

1.首先官网上下载kinco软件,然后再安装驱动,安装的方式是需要两个文件。把两个文件放到driver文件夹下面,然后设备管理器右键更新,手选driver文件夹,自动安装即可。 步科触摸屏驱动文件下载地址 2.按照步科触摸屏使用手册一步一步来建立工程 Kinco HMIware使用手册下载地址 登录界面 涉及到的是页面切换,用的是login window,然后只留下等级输入那个

MAYBE的博客 2万+

Nginx:页面输出缓存(页面静态化)的设计方案?

页面输出缓存(页面静态化)的设计                随着网站规模的变大,访问量提升,网站服务器越来越不堪重负,浏览者也会对页面打开的速度怨声载道。 这时候最简单的解决方案就是增加缓存。 网站服务器的缓存有很多中,可以放在数据库和Web应用程序之间,也可以放在Web应用程序和Web服务器之间,还可以放在Web服务器和用户浏览器之间,甚至可以直接放在浏览器端。 其中最简单

zacklin的专栏 1万+

MicroPython跨平台移植实战:从源码解析到STM32+FreeRTOS部署

本文详细解析了MicroPython的跨平台移植实战,重点介绍了如何将其从源码开始,成功部署到STM32微控制器并运行于FreeRTOS实时操作系统。内容涵盖源码结构解析、编译环境搭建、内存管理协调、FreeRTOS任务集成、数学库(math)启用与优化,以及自定义模块开发等核心步骤,为开发者提供了一套完整的、可操作的嵌入式Python移植方案。

vodka的博客 1014

基于h5端的视频录制和回溯功能的实现

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。

发果叁 3190

ESI简介

ESI (Edge Side Includes) 编辑本义项 ESI是一种数据缓冲/缓存服务器,它提供将Web网页的部分(这里指页面的片段)进行缓冲/缓存的技术及服务。由Oracle公司和Akamai Technologies公司制定规格,Akamai公司提供对应的信息传送的服务。   以往的数据缓冲服务器和信息传送服务以页为单位制作,复制到数据缓冲服务器中,由于其对应要求而

雪峰流云 1309

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

本期我们讨论在线点播的视频格式,对比这些视频格式的优劣以及原因 1、封装格式的作用 2、MP4 3、FLV 4、HLS

池鱼 - YiiGaa 2万+

ssi和用nginx配置ssi

在做一个网站时,页面上会有很多重复的内容,每个页面写一遍很冗余,修改时还容易遗漏,所以可以把公共的部分写好,放在单独的HTML中,用时引用就行了。 在HTML文件中引入其他HTML文件的几种方法 https://www.cnblogs.com/qmx5942701/p/5474063.html 这篇博客讲的很详细了。     针对这篇博客里的第三种include方法,引出了下面的东西。...

zhouzy539的博客 1万+

【Autosar COM】Marvell 88Q5050 以太网交换机驱动技术解析

本驱动实现了对Marvell 88Q5050交换机的全面控制,通过模块化设计满足AUTOSAR规范要求。增加DMA加速机制提升大数据量处理性能实现TSN(时间敏感网络)特性支持引入异步通知机制替代轮询操作增强安全特性,如MACsec支持该驱动架构为车载以太网交换机控制提供了可靠基础,其设计思想可推广到其他车载网络控制器开发中。随着车载网络技术的演进,驱动需持续迭代以支持新特性与更高通信速率需求。

1450

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

记一次线上由nginx upstream keepalive与http协议"协作"引起的接口报错率飙高事件

年前接到个任务,说要解决线上一些手机客户端接口报错率很高的问题.拿到了监控邮件,粗略一看,各种50%+的错误率,简直触目惊心.这种疑难杂症解决起来还是挺好玩的,于是撸起袖子action. 最终的结果虽然报错问题得到了解决,但是感觉并不是最根本的解决方案. 下面把解决的过程和目前的问题放出来一起探讨下. 第一步,针对错误进行跟踪,初步定位问题 由于之前客户端同学在请求中添加了唯一标示request_...

weixin_33749131的博客 486

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

varnish + nginx搭建初试验

一、部署搭建: 具体的部署搭建方法就不详细介绍,按照官网的方法安装varnish即可,下面说一说,在部署中遇到的一些问题,记录一下。 1、安装时出现libc版本过低的问题:系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的 解决方法: 查看系统glibc支持的版本: 可以看到最高只支持2.12版本,所以考虑编译解决这个问题, 下载2.14版本的glibc:ht

heshan307的专栏 3066

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

页面片段缓存方案介绍(OSCache,Velocity自定义标签,Varnish+ESI)

1.OSCache OSCache是一个使用较多的高性能J2EE缓存框架,适用于任何JAVA应用程序的普通缓存解决方案。可以不受限制的缓存部分jsp页面或http请求;支持永久缓存,将缓存内存随意写入硬盘;支持集群-集群缓存数据,而不需要修改代码;控制缓存对象过期时间,可插入式刷新策略; oscache-2.1.jar;commons-logging-api-1.1.jar;log4j-1.2.11.jar 配置OSCache环境 CacheFilter只对http 200的页面请求做处理,不对其他

不才的专栏 8176

Elasticsearch text字段底层机制与映射参数实战解析

在Elasticsearch中,字符串字段的映射类型选择是影响检索效率与准确性的关键起点。text与keyword看似都能存文本,但底层机制截然不同:text会经过分析器进行分词和规范化,构建倒排索引以支持全文检索;keyword则保留完整词项,用于精确匹配与聚合。理解分析器、分词器与过滤器的协作流程,能帮助开发者避免term查询失效、聚合报错等常见陷阱。在实际业务中,商品搜索、日志分析、订单系统等场景都需要根据查询需求合理配置映射参数,如norms、fielddata、multi-fields等。通过掌握

weixin_34413103的博客 341

动态缓存技术之CSI,SSI,ESI

平时我们谈页面,大都数是以页面为单位的。 一、CSI (Client Side Includes) 含义:通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来。 原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载! 例子: 优点:相对比较简单,不需要服务器端做改变和配置; 缺点:不

yishouwangnian的博客 611

Nginx配置SSI

一.什么是SSI SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。 它的工作原因是:在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内容存入一个包含文件中

未来可7 2万+

ESI是什么

ESI的全称是Edge Side Inclue,是一种页面判断缓存的技术。 ESI是一种数据缓冲/缓存服务器,它提供将Web网页的部分(这里指页面的片段)进行缓冲/缓存的技术及服务。由Oracle公司发起的技术规格, 为什么要有页面片段缓存 对大型网站来说,网站的页面中存在着部分是静态的内容,部分是动态的内容,比如天气,最新动态等。 网站为了提高性能将静态的内容进行缓存在前端的反向代理服务器上,将...

tiandirensoon 1556

nginx静态化技术

    通常普通网站流程是,用户请求Tomcat服务器,拿到数据渲染后动态的jsp页面,返回给用户,可能优化数据直接放在缓存(不访问数据库以提高用户访问速度)。    静态化技术就是让用户访问的资源变成静态html页面,针对一些访问量大、不改动或者改动不频繁的业务,比如商品详情页(上架后数据基本不会变化)。生成的静态页面html放在nginx服务器上(Tomcat的上一级),用户访问不需要访问to...

迷途中的一片羽毛博客 2269

nginx中SSI问题

(概念摘自网络) 一.什么是SSI SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。 它的工作原因是:在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内

只是一只程序媛 4097
上一篇: 郎中锋:ResourceLimit 实用指南
下一篇: 何坤:基于内存数据库的分布式数据库架构
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值