文章出处:伟网动力(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. 【译】OpenDaylight控制器:YANG Schema和Model
  2. XamarinSQLite教程Xamarin.Android项目添加引用
  3. 013_JavaScript函数
  4. 音视频技术开发周刊 | 134
  5. 服务器操作系统用什么好,服务器操作系统一般用什么
  6. Linux umask限制导致php的mkdir 0777无效
  7. 安装和启动mysql
  8. 广告系统中的Exploitation and Exploration(二)
  9. iOS 使用自定义字体
  10. DIY一个VR小钢炮
  11. 软件测试知识点 | APP蓝牙连接测试
  12. Linux查看内存状态ariveble,分析996个词根在各大考纲词汇中的作用(三)
  13. c# 通过读取Json文件生成HTML页并在浏览器显示
  14. 吴裕雄 18-MySQL GROUP BY 语句
  15. 100层楼,2个鸡蛋,最少要几次才能测试出鸡蛋能承受的最大楼层?
  16. 服务器的网络不稳定是什么原因,家里网络不稳定是什么原因
  17. Xshell和Xftp官方家庭免费版
  18. 利用Qt制作QQ的登录及主界面
  19. 基于springboot学生公寓管理系统-计算机毕业设计源码+LW文档
  20. 卷积神经网络案例:LeNet-5手写数字识别

热门文章

  1. 计算已知经纬度两点的距离_python
  2. 实习踩坑之路:一个诡异的SQL?PageHelper莫名多了一个Limit子句,导致SQL执行错误?
  3. maven配置本地jar包
  4. PHP截取文件,[转载]php做截取文件后缀名大全
  5. 我给曾经暗恋的高中女同学,用Python实现了她飞机上刷抖音
  6. Kotlin 新版来了,支持跨平台!
  7. 得意时别嘚瑟,失意时别灰心
  8. vue 跳转到选项卡_使用 DevTools 新增的 Issues 选项卡发现网页问题
  9. java环形队列_数组实现环形队列Java
  10. linux 最大磁盘 16t,linux ext4无法使用超过16T磁盘的解决办法