当前位置: 首页 > news >正文

做信息网站能挣钱吗平面设计网址推荐

做信息网站能挣钱吗,平面设计网址推荐,常德网站建设制作,曲麻菜公司网站建设项目场景#xff1a; 在一个使用Varnish作为反向代理的Web应用中#xff0c;我们依赖CDN#xff08;内容分发网络#xff09;来缓存静态资源#xff08;如图片、CSS、JavaScript文件等#xff09;#xff0c;以提高全球用户的访问速度并减轻源站服务器的负载。然而 在一个使用Varnish作为反向代理的Web应用中我们依赖CDN内容分发网络来缓存静态资源如图片、CSS、JavaScript文件等以提高全球用户的访问速度并减轻源站服务器的负载。然而在实际运行中我们遇到了一个问题CDN缓存的静态资源全部一直回源导致源站服务器负载过高响应时间延长用户体验下降。 问题描述 症状表现 高源站流量: 监控数据显示源站接收到大量本应由CDN处理的请求。低缓存命中率: CDN平台中显示静态资源的缓存命中率远低于预期。响应时间延长: 用户体验到比预期更长的页面加载时间。Via 头部异常: 在响应头中发现了额外的 Via 信息例如 1.1 yjcm-varnish-0 (Varnish/7.6), cache14.l2et135-6[2,0]这可能是导致CDN失效的原因之一。 产生影响 这些症状直接影响了用户体验和网站性能增加了服务器负载当时LB带宽几乎要达到上限。随着系统响应时间逐渐变慢用户体验急剧下降。因此解决这个问题对于提升网站的整体性能至关重要。 原因分析 经过详细的日志分析和技术排查我们确定以下因素可能导致了上述问题 1. Via 头部的影响: 标准的 Via 响应头用于标识请求经过的代理服务器链。如果Varnish保留或添加了这个头部某些CDN可能会误判请求路径进而影响缓存决策。特别是当 Via 头部包含多个代理服务器的信息时可能会使CDN认为每个请求都是唯一的从而阻止了缓存的有效利用。 2. 自定义VCL逻辑: 如果Varnish配置中有特定的逻辑来决定何时缓存内容或如何处理请求这些逻辑可能会与CDN的预期行为相冲突导致缓存策略不再适用。 3. Cookie处理: 默认情况下如果请求包含 Cookie 头部Varnish通常不会缓存该请求。这可能导致静态资源因为会话信息而被视为独特的从而绕过了缓存。 4. 缓存控制头部不一致: Varnish可能修改了来自后端服务器或CDN的关键HTTP头部信息如 Cache-Control, Expires导致CDN认为这些资源不应该被缓存。 解决方案 为了解决这些问题我们采取了一系列措施确保Varnish与CDN之间顺畅协作最大化缓存效率并提升整体网站性能。同时我们也针对系统性能进行了优化以改善响应时间。 1. 修改 vcl_deliver 子程序 通过调整 vcl_deliver 子程序可以实现更清晰的缓存状态指示并避免不必要的头部冲突 # 交付子程序 (vcl_deliver) sub vcl_deliver {# 显示缓存命中/未命中信息# 这个逻辑用于在响应头中添加一个自定义的头部 X-Varnish-Cache# 以便后续可以通过这个头部判断请求是否被缓存命中。if (obj.hits 0) {set resp.http.X-Varnish-Cache hit; # 如果缓存命中即该对象已被缓存并再次访问则设置 X-Varnish-Cache 为 hit} else {set resp.http.X-Varnish-Cache miss; # 如果缓存未命中即该对象是第一次访问或缓存已过期则设置 X-Varnish-Cache 为 miss}# 将 Via 头的内容复制到 X-Varnish-Via 头# Via 是一个标准的HTTP头部用来标识请求经过的代理服务器链。# 为了避免影响CDN对缓存决策的理解我们将原始的 Via 头内容复制到一个新的头部 X-Varnish-Via# 并删除原来的 Via 头确保CDN不会因为额外的代理信息而误判请求路径。if (resp.http.Via) {set resp.http.X-Varnish-Via resp.http.Via; # 将原始 Via 头内容复制到新的 X-Varnish-Via 头unset resp.http.Via; # 删除原来的 Via 头避免干扰CDN的缓存决策} } 解释: 显示缓存状态: 通过添加 X-Varnish-Cache 响应头提供了关于缓存命中的明确指示这对于调试和理解缓存行为非常有用。清理 Via 头: Via 头通常用于标识请求经过的代理服务器链。将其内容复制到 X-Varnish-Via 并删除原始 Via 头可以帮助减少混淆并确保CDN能够正确解析响应。 2. 同步缓存控制头部 确保Varnish不会覆盖或修改来自后端服务器或CDN的关键缓存控制头部如 Cache-Control 和 Expires。可以通过以下方式同步这些头部 sub vcl_backend_response {# 同步 Cache-Control 和 Expires 头部if (beresp.http.Cache-Control beresp.http.Expires) {set beresp.http.Cache-Control beresp.http.Cache-Control;set beresp.http.Expires beresp.http.Expires;} } 3. 确保缓存一致性 确保Varnish和CDN之间的缓存策略一致特别是对于静态资源的缓存控制头部 标准化响应头部: 保持所有响应头部的一致性有助于维持整个系统的稳定性和性能。检查缓存标签: 确认Varnish和CDN都支持并正确处理缓存标签如 ETag, Last-Modified。 4. 测试与验证 测试清除效果: 在非生产环境中进行更改前先在一个小范围内测试确保不会对用户体验产生负面影响。监控性能变化: 使用性能监控工具来跟踪实施更改后的性能指标确保问题得到解决且没有引入新的问题。 结论 通过精心调整Varnish配置并遵循最佳实践我们可以确保Varnish与CDN之间顺畅协作最大化缓存效率并提升整体网站性能。希望这篇文章能为你和其他开发者提供有价值的参考帮助解决类似的缓存失效问题。如果有更多复杂的需求或疑问建议参考官方文档或寻求专业支持。
http://www.w-s-a.com/news/865340/

相关文章:

  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的
  • 网站开发需要什么文凭网站分析的优劣势
  • 海尔网站建设不足之处山东网站营销
  • 楚雄 网站建设广告设计一般人能学吗
  • 热搜榜排名前十山东seo多少钱
  • 衡水哪有建网站的吗企业信息系统英文
  • 有模板怎么建站wordpress媒体库图片路径
  • 怎么做网站h汉狮企业网站营销的实现方式
  • 新津县建设局网站怎么做区块链网站
  • 网站设计与制作是什么专业广州优化网站
  • 腾讯有做淘宝客网站吗网站开发包
  • 网站整体营销方案网站建设百度贴吧
  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好
  • 郑州做网站九零后用织梦建设网站的步骤
  • 莱芜网站优化加徽信xiala5江都网站制作
  • 网站开发工具书焦作网站开发公司电话
  • 石狮网站建设报价百度爱采购怎么优化排名