文章出处:伟网动力(http://www.weiw.com/)
有何见解,可以来此论坛 http://www.weiw.com/bbs/
转贴请标明出处,谢谢。

环境说明:
开发平台是DOTNET  B/S  .NET Framework 1.1
正式WEB服务器和测试机,均为win2003
原有一个主网站,在六台WEB服务器做负载均衡。运行比较稳定。
现新开发一个子站,将布署在另三台WEB服务器上做负载均衡。这个负载均衡设置类似主网站的设置。

解决步骤:
1)子站在测试机测试通过,运行正常。准备布署到正式环境下(三台WEB服务器)

2)将子站程序拷贝到那三台WEB服务器上,配置好子站相关配置,开放站点与负载均衡开始测试。

3)测试时,页面显示正常,但在触发服务端事件时出现异常。
错误信息“Viewstate is invalid for this page”(此页的视图状态无效)没有为解决此问题提供足够信息
同样的程序为何在测试机运行没问题,放到正式环境下,就出现异常呢?
在微软网站要查到这个异常的解释(http://support.microsoft.com/default.aspx?scid=kb;zh-cn;831150),说建议安装Microsoft .NET Framework 1.1 Service Pack 1。
于是,怀疑没有装这个补丁,就查看注册表项:
项名称:HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322
SP值为0,表明没有装Framework 1.1 Service Pack,
然后去微软网站下载了.NET Framework 1.1 Service Pack 1和.NET Framework 1.1 Service Pack 1 ASP.NET 安全更新 - Windows Server 2003

4)装上这两个补丁后,运行子站程序,在触发服务端事件时仍旧出现异常。异常如下:
异常详细信息: System.Web.HttpException: 无法验证数据。
堆栈跟踪:
[HttpException (0x80004005): 无法验证数据。]
[HttpException (0x80004005): Authentication of viewstate failed.  1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm.  AutoGenerate cannot be used in a cluster.  2) Viewstate can only be posted back to the same page.  3) The viewstate for this page might be corrupted.]
再回到831150那篇文章看:“应用此修复程序后,视图状态错误信息标题将变成“Unable to Validate Data”。尽管新的错误信息格式没有对问题进行具体描述,但它比以前的错误信息格式提供了更多信息。”
得知应该是ViewState值已被截断?!
问题就转化:什么原因导致"ViewState值已被截断"呢?
因为程序在测试环境下运行没问题的,那么可能是系统级的问题。
比较一下正式和测试环境:正式环境是三台Server做负载均衡,而测试环境只一台Server。

5)将负载均衡设置修改了一下,只开放一台WEB Server。测试后,发现不出现那个异常。三台机分别测试,均无异常。
推测:可能是负载均衡设置有问题。于是找来系统管理员,他说,子站的负载均衡设置跟主站一样的啊。但还是请他再确认一下两个负载均衡设置的不同之处。
经再次的仔细检查,发现负载均衡Pool的Persistence Type(进程延续)为None,也就是说服务端不保持连接状态。这样,每次服务端事件被触发时,就会导致"ViewState值已被截断"。于是将Persistence Type(进程延续)的值改为Simple,Timeout设为600秒。

总结:
程序员不单要写好程序,也要适当的了解系统。这个问题,不一定会经常遇到,作为一个解决问题的思路,供大家分享。

附:负载均衡一般设三个地方来保证进程延续。首先启动负载均衡,然后设置“Enable Connection Rebind”为true.最后Persistence Type一般设为Simple再加上超时时间。
注:本人对负载均衡研究甚少,不知其他类似软件是否也如此设置,其原理应该都差不多。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tonnycncn/archive/2005/04/11/342875.aspx

提高网站速度|负载均衡相关推荐

  1. 浅谈大型网站之负载均衡架构

    转载自 浅谈大型网站之负载均衡架构 概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器.FTP服务器.企业关键应用服务器和其它关键任务服务器等 ...

  2. 优化网站性能 提高网站速度访问速度的14条实践

    相信互联网已经越来越成为人们生活中不可或缺的一部分.ajax,flex等等富客户端的应用使得人们越加"幸福"地体验着许多原先只能在C/S实现的功能.比如Google机会已经把最基本 ...

  3. 优化网站性能 提高网站速度访问速度的14条实践(转)

    相信互联网已经越来越成为人们生活中不可或缺的一部分.ajax,flex等等富客户端的应用使得人们越加"幸福"地体验着许多原先只能在C/S实现的功能.比如Google机会已经把最基本 ...

  4. 企业网站服务器负载均衡技术

    Internet的快速增长使网络服务器,特别是Web服务器,面对的访问者数量快速增加,网络服务器需要具备提供大量并发访问服务的能力.例如sohu每天会收到数千百万次的访问请求,因此对于提供大负载Web ...

  5. 饿了吗?一饱眼福-不能不懂的web网站架构负载均衡群集

    理论 1.web搭建网站有哪些方式实现负载均衡与高可用性能? Nginx:反向代理,适用于中小型网站服务 优点:工作在七层之上,针对HTTP做分流策略,正则规则haproxy更灵活对网络的稳定性依赖小 ...

  6. linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

    随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实 ...

  7. 解决网站在负载均衡环境下SESSION丢失的问题

    在WEB场中,动态网页往往会因为几台主机做了负载而产生SESSION丢失的问题,网上也有很多的介绍,我这里只将我经历的过程给大家分享一下: 系统要运行在负载平衡的 Web 场环境中,而系统配置文件we ...

  8. 利用dns解析来实现网站的负载均衡

    当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...

  9. 讲的是关于提高网站速度的内容|转自csdn

    一.记得帮页面减肥 我们浏览网页实际上是将虚拟主机中的网页内容下载到本地硬盘,再用浏览器解释查看的.下载网页的快慢在显示速度上占了很大比重,所以,网页本身所占的空间越小,那么浏览速度就会越快.这就要求 ...

  10. Nginx - 静态网站;负载均衡;静态代理;动静分离;虚拟主机

    Nginx主要应用在如下方面 一.静态网站 Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML.CSS.js.图片等)通过HTTP协议返回给浏览器客户端 如,我们创建一个Ja ...

最新文章

  1. java mawen介绍_Maven的介绍及使用
  2. 声光调制器实验研究_脉冲光抽运原子钟研究取得进展
  3. 通过缓存数据库结果提高PHP性能
  4. Selenium 显示等待和隐式等待
  5. OpenSSL学习(二十二):基础-指令sess_id
  6. 智能用电计量管理系统 远程预付费管理系统的设计与应用
  7. 【百度图片】怎么让百度收录图片
  8. python查找excel中重复数据_python中查找excel某一列的重复数据 剔除之后打印
  9. 如何将高程数据转成南方CASS的DAT格式
  10. CSS背景图片代码示例
  11. 查看服务器ip修改记录,如果查看服务器ip地址和修改ip
  12. 树莓派4B安装官方64位桌面系统
  13. (轉貼) LCD入門常識
  14. 自动管道过滤器结构组成与应用领域介绍
  15. 谷歌研发智能隐形眼镜
  16. 人工智能意念控制打字_智能打字稿批量属性分配
  17. ArcGIS API for JavaScript 报错Uncaught ReferenceError:define is not defined
  18. 特别策划 | 5G最新进展深度解析2020版-全球市场篇(P66页附下载)
  19. 计算机与英语相关工作,职业英语--计算机类
  20. 查找树形数据的某个值

热门文章

  1. 使用讯飞实现语音听写与语音合成功能
  2. 注释转换 (C语言注释转换为c++注释)
  3. 组件化开发Android应用及SDK
  4. 【系列】关于直播,所有的技术细节都在这里了
  5. kafka partition分配_【kafka】消费者对应的分配partition分区策略
  6. java导入hbase_如何用java导入hbase.dat文件
  7. cpc卡内计费信息异常包括_抖音信息流广告收费标准,抖音广告效果分析
  8. Java进程中的堆和栈_对于JVM,你就只知道堆和栈吗?
  9. java datatable用法_C# DataTable用法示例详解|DataTable Select,sort排序,Linq过滤操作
  10. 帆软高级函数应用之数组函数