IIS负载均衡配置

news/2024/7/10 0:02:39 标签: c#, IIS, 负载均衡
一、Inproc模式
Inproc是缺省的设置,这种模式和以前的ASP的会话状态的方法是类似的,会话的状态会被保存在ASP.NET进程中,它的优点是显而易见的:性能。进程内的数据访问自然会比夸进程的访问快。然而,这种方法Session的状态依赖于ASP.NET进程,当IIS进程崩溃或者正常重起启时,保存在进程中的状态将丢失。

二、StateServer模式
为了克服Inproc模式的缺点,ASP.NET提供了两种进程外保持会话状态的方法。

ASP.NET首先提供了提供了一个Windows服务:ASPState,这个服务启动后,ASP.NET应用程序可以将mode属性设置为 “SateServer”,来使用这个Windows服务提供的状态管理方法。

除了在web.config文件中设置mode属性为StateServer外,还必须设置运行StateServer服务器的IP地址和端口号,具体配置方法如下:

2.1 如果在IIS所在的机器运行StateServer则IP地址就是127.0.0.1,端口号通常是42424.配置如下:

mode=”StateServer”

stateConnectionString=”tcpip=127.0.0.1:42424″

2.2 找一台服务器作为Session服务器

如IP为:172.18.1.188,启动其Windows中的ASP.NET State Service(默认的端口号为42424),把启动类型改为自动;

2.3 修改Session服务器注册表中的项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \aspnet_state\Parameters中的AllowRemoteConnection 键的值为1,其中的Port键控制ASP.NET State Service的监听端口;修改后需要重启ASP.NET State Service才生效;

2.4 每台服务器的web.config 的stateConnectionString都指向这台服务器

使用这种模式,会话状态的存储将不依赖IIS进程的失败或者重启,会话的状态将存储在StateServer进程的内存空间中。

三、SQlServer模式
另一种会话状态模式是SQLServer模式。这种模式是将会话的状态保存在SQL Server数据库中的。使用这种模式前,必须至少有一台SQL Server服务器,并在服务器中建立需要的表和存储过程。.NET SDK提供了两个脚本来简化这个工作:InstallSqlState.sql和UnInstallSqlState.sql。这两个文件存放在下面路径中:

c:\windows\Microsoft.NET\Framework

要配置SQL Server 服务器,可以在命令行中运行SQL Server提供的命令行工具osql.exe

osql -s [server name] -u [user] -p [password]

例如:

osql -s (local) -u as -p “”-i InstallSqlState.sql

做好必要的数据库准备工作后,将web.config文件中的sessionstate元素的mode属性改为”sqlserver”,并指定 SQL连接字符串。具体如下:

mode=”SQLServer”

sqlConnectionString=”data source=127.0.0.1;userid=sa;password=;Trusted_Connection=yes”

使用SQLServer模式处了可以使Session的状态不依赖于IIS服务器之外,还可以利用SQL Server的集群,使状态存储不依赖于单个的SQL Server,这样就可以为应用程序提供极大的可靠性。

http://www.niftyadmin.cn/n/1406172.html

相关文章

nginx和IIS的均衡负载

如果你关注过nginx,必定知道nginx这个软件有什么用的,如果你的网站访问量越来越高,一台服务器已经没有办法承受流量压力,那就增多几台 服务器来做负载吧。做网站负载可以买硬件设备来实现,比如F5,不过价格就几十万到上…

使用Digester解析XML文档示例

一. 概述  解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程。Digester最早出现在Struts中,后来随着Struts的发展…

Nginx转发

简介:Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56.com等,视频分享网站,Discuz!官方论坛、水…

在Tomcat中安装JSTL

前提 OS: WIN2000 tomcat已经配置好(tomcat可以到http://jakarta.apache.org/tomcat 下载)开始实战啦1.准备jstl 到http://apache.towardex.com/jakarta/taglibs/standard/下载jakarta-taglibs-standard-current.zip解压后成为jakarta-taglibs-standard-1.1.12.准备web开…

Ant实践

1. Ant是什么? 2. 安装Ant 3. 运行Ant 4. 编写build.xml 5. 内置task(internet) 6. EAR task(internet) 7. WAR task(internet) 8. JUnit task(internet)--------------------------------------------------------------------------------1.Ant是什么?…

Ant+junit的测试自动化

随着Refactoring技术和XP软件工程技术的广泛推广,单元测试的作用在软件工程中变得越来越重要,而一个简明易学、适用广泛、高效稳定的单元测试框架则对成功的实施单元测试有着至关重要的作用。在java编程语句环境里,Junit Framework是一个已经…

js调android的代码

XML/HTML code?1234567<body> <!-- Calls into the javascript interface for the activity --> <!-- 从HTML文件中调用activity中的函数 --> <!-- 也就是从HTML到android程序 留意window.demo.clickOnAndroid()这句话 --> <a onClick"wi…

JBuilderX+SQL Server开发hibernate

环境&#xff1a;    开发的IDE&#xff1a;JBuilderX    使用的数据库&#xff1a;MS Sql Server 2000    使用的数据库驱动&#xff1a;JSQL Driver&#xff08;JDBC 3.0&#xff09;  说明&#xff1a;  1、hibernate在配置文件中明确说明“Microsoft Driver…