实现多个ASP.NET跨程序池共享Session [高效]

实现多个ASP.NET跨程序池共享Session [高效]
实现多个ASP.NET跨程序池共享Session [高效]

实现多个https://www.360docs.net/doc/041489480.html,跨程序池共享Session [高效]

简要介绍,本文主要内容是实现通过https://www.360docs.net/doc/041489480.html,自己的Sql Server的Session存储机制实现,通过存储过程实现忽略程序标识的区别,达到多程序池间Session数据共享的目的。详细原文:

本文转载人数己经太多,所以不知道原文地址何处,敬请谅解!

大致思路:

采用SqlServer方式存储Session,分析数据库表结构、原理、流程,大致可以得到SqlServer存储Session的方法:表结构:

ASPStateTempApplications表存储应用程序Id及名称

ASPStateTempSessions表存储具体的Session值不同的应用程序会在ASPStateTempApplications中注册不同的数据,从而在ASPStateTempSessions中有不同的Session,如果要实现Session共享,可以用欺骗SqlServer的方法:用某种方法使得不同的应用程序访问数据库时用相同的App!为了达到

这个目的,分析[dbo].[TempGetAppID]这个存储过程,代码如下:1 ALTER PROCEDURE [dbo].[TempGetAppID]

2 @appName tAppName,

3 @appId int OUTPUT

4 AS

5 SET @appName = LOWER(@appName)

6 SET @appId = NULL

7

8 SELECT @appId = AppId

9 FROM

[Herald.Session].dbo.ASPStateTempApplications

10 WHERE AppName = @appName

11

12 IF @appId IS NULL BEGIN

13 BEGIN TRAN

14

15 SELECT @appId = AppId

16 FROM

[Herald.Session].dbo.ASPStateTempApplications WITH (TABLOCKX)

17 WHERE AppName = @appName

18

19 IF @appId IS NULL

20 BEGIN

21 EXEC GetHashCode @appName,

@appId OUTPUT

22

23 INSERT

[Herald.Session].dbo.ASPStateTempApplications

24 VALUES

25 (@appId, @appName)

26

27 IF @@ERROR = 2627

28 BEGIN

29 DECLARE @dupApp tAppName

30

31 SELECT @dupApp =

RTRIM(AppName)

32 FROM

[Herald.Session].dbo.ASPStateTempApplications

33 WHERE AppId = @appId

34

35 RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and

''%s''. Please rename the 1st application to resolve the problem.',

36 18, 1, @appName, @dupApp)

37 END

38 END

39

40 COMMIT

41 END

42

43 RETURN 0

什么是IIS应用程序池以及应用程序池详解

什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个 工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。 Windows 2003同时支持两种工作模式,默认为ISS 6.0工作进程隔离模式。工作进程隔离模式防 止一个应用程序或站点停止了而影响另一个应用程序或站点,大大增强了IIS的可靠性。那么如何设置两 种工作模式呢? 启动IIS管理器,右击网站,选择“属性”,打开属性对话框(图1)。 在IIS 6.0工作进程隔离模式下,所有的应用程序代码都在隔离环境中运行,它们是如何进行隔离的呢?Windows 2003新增了应用程序池,工作进程隔离模式允许客户创建多个应用程序池,每个应用程序池都 可以有不同的配置。因为这些应用程序池直接从内核(而非WWW 服务)接收它们的请求,所以性能和可靠性得到了增强。要隔离运行在同一台计算机上但属于不同网站的Web应用程序,需要为每个网站创建单独的应用程序池。 创建应用程序池 在IIS管理器中,打开本地计算机,右键单击“应用程序池”,选择新建“应用程序池” (必须在工作 进程隔离模式下才能建立应用程序池)。“应用程序池名称”框中,输入新的应用程序池名称。如果在“应 用程序池ID”框中出现的ID (如:AppPool #1)不是您想要的,可进行重命名。如果您单击了“将现有应用程序池作为模板”,请在“应用程序池名称”框中右键单击想要用来作为模板的应用程序池。最后单击[确定]。

指派应用程序池 在IIS 管理器中,右键单击您要为其指派应用程序池的应用程序,然后单击“属性”。单击“主目录”选项卡,确认您正在指派的目录或虚拟目录的“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。 在“应用程序池”列表框中,选择您想要为其指派的应用程序池的名称。最后单击[确定]。 一起来看看有关应用程序池的一些问题。应用程序池的“属性”对话框有四页——回收,性能,运行状况,标识,如图六所示。在这些选项页中,最引人注目的恐怕就是“回收”页,使用该选项页可以管理工作进程 的回收。在工作进程隔离模式中,IIS可以配置成定期重新启动应用程序池中的工作进程,从而更好地管理那些有错误的工作进程。这确保了池中的应用程序运行正常,并且可以恢复丢失的系统资源。为了回收工 作进程,失败工作进程接收请求的能力将被限制,直到它处理完存储在请求队列中的所有剩余请求。为了 排出当前请求,可以给予进程配置限制。同一命名空间组的替换工作进程在旧的工作进程停止前启动,从 而防止服务中断。旧的进程完成其未决的请求,然后正常关闭,或者如果在达到了配置的时间限制、请求数、设置的时间计划,或当达到指定的内存用量限制后仍没有关闭,则明确地终止进程。默认情况下,应 用程序池每隔1740分钟(29小时)回收一次。 W3SVC根据“运行状况”页的选项来判断应用程序池运行是否正常,包括:每隔指定的时间Ping工作 进程,时间按秒计,默认值30秒启动时间限制(工作进程必须在指定的时间内开始)关闭时间限制(工作进程必须在指定的时间内关闭)是否启动快速失败保护(如果在指定的时间段内一定数目的工作进程发生 失败,则禁用应用程序池)。另外,ISAPI应用程序(包括https://www.360docs.net/doc/041489480.html,和asp.dll)可以声明自己不再适合提供服务,要求回收。 默认情况下,当IIS 6.0回收一个池时,它会使用一种称为overlapped recycle的回收技术。在这种回收模式下,失败的工作进程仍会保持运行状态,同时创建一个新的工作进程。IIS 6.0把新传入的请求传递给新的工作进程,但不拆除老的工作进程,直至老的工作进程处理完它队列中的请求,或者遇到超时错误。在此期间,TCP/IP连接不会丢失,因为有http.sys保持着连接的有效性。当失败的工作进程超时出错时,下一个请求传递给工作进程的请求是新的请求,因此原来保存在进程中的会话信息就会丢失。所有这类回 收操作都自动进行,无需管理员干预,而且在大多数情况下,不会造成明显的服务中断现象。如有必要, 可以将配置数据属性LogEventOnRecycle的值设置为1,指示W3SVC执行回收操作时生成一条事件日志 记录。 对于那些不能以多个实例运行的应用程序,overlapped recycle回收技术可能引起问题。如果遇到这类问题,可以将配置数据属性DissallowOverlappingRotation的值设置成 True(1),关闭某个应用程序池回收操作时的进程“重叠”现象。另外,对于失败的工作进程,有时我们可能不想将它拆除,仍旧保留该进程,以便检测和寻找发生问题的根源,这时可以将配置数据属性OrphanActionExe设置成执行文件的名字,使得工作进程成为“孤儿”时执行文件仍保持运行状态。 另一个与应用程序池有关的特性是,IIS 6.0允许将应用程序池配置成一个Web园(Web Garde n)。要理解Web园的概念,可以设想这样一种情形:假设有一个IIS 5.0服务器和三个Web网站,每一个Web 网站运行着相同的应用程序,如果IIS 5.0能够自动按照圆形循环的模式将请求依次发送给这些功能上等价、实际上分离的Web网站,将负载分离到三个不同的进程,就可以构成一个小型的Web农场(Web Farm)——这就是Web园。

实现多个https://www.360docs.net/doc/041489480.html,跨程序池共享Session [高效]

实现多个https://www.360docs.net/doc/041489480.html,跨程序池共享Session [高效] 简要介绍,本文主要内容是实现通过https://www.360docs.net/doc/041489480.html,自己的Sql Server的Session存储机制实现,通过存储过程实现忽略程序标识的区别,达到多程序池间Session数据共享的目的。详细原文: 本文转载人数己经太多,所以不知道原文地址何处,敬请谅解! 大致思路: 采用SqlServer方式存储Session,分析数据库表结构、原理、流程,大致可以得到SqlServer存储Session的方法:表结构: ASPStateTempApplications表存储应用程序Id及名称 ASPStateTempSessions表存储具体的Session值不同的应用程序会在ASPStateTempApplications中注册不同的数据,从而在ASPStateTempSessions中有不同的Session,如果要实现Session共享,可以用欺骗SqlServer的方法:用某种方法使得不同的应用程序访问数据库时用相同的App!为了达到

这个目的,分析[dbo].[TempGetAppID]这个存储过程,代码如下:1 ALTER PROCEDURE [dbo].[TempGetAppID] 2 @appName tAppName, 3 @appId int OUTPUT 4 AS 5 SET @appName = LOWER(@appName) 6 SET @appId = NULL 7 8 SELECT @appId = AppId 9 FROM [Herald.Session].dbo.ASPStateTempApplications 10 WHERE AppName = @appName 11 12 IF @appId IS NULL BEGIN 13 BEGIN TRAN 14 15 SELECT @appId = AppId 16 FROM [Herald.Session].dbo.ASPStateTempApplications WITH (TABLOCKX) 17 WHERE AppName = @appName 18

《域管理》教程

?域和工作组 域和工作组是针对网络环境中的两种不同的网络资源管理模式。 在一个网络内,可能有成百上千台电脑,如果这些电脑不进行分组,都列在“网上邻居”内,可想而知会有多么乱。为了解决这一问题,Windows 9x/NT/2000就引用了“工作组”这个概念,将不同的电脑一般按功能分别列入不同的组中,如财务部的电脑都列入“财务部”工作组中,人事部的电脑都列入“人事部”工作组中。你要访问某个部门的资源,就在“网上邻居”里找到那个部门的工作组名,双击就可以看到那个部门的电脑了。 在对等网模式(PEER-TO-PEER)下,任何一台电脑只要接入网络,就可以访问共享资源,如共享打印机、文件、ISDN上网等。尽管对等网络上的共享文件可以加访问密码,但是非常容易被破解。在由Windows 9x构成的对等网中,数据是非常不安全的。一般来说,同一个工作组内部成员相互交换信息的频率最高,所以你一进入“网上邻居”,首先看到的是你所在工作组的成员。如果要访问其他工作组的成员,需要双击“整个网络”,就会看到网络上所有的工作组,双击工作组名称,就会看到里面的成员。 你也可以退出某个工作组,只要将工作组名称改动即可。不过这样在网上别人照样可以访问你的共享资源,只不过换了一个工作组而已。你可以随便加入同一网络上的任何工作组,也可以离开一个工作组。“工作组”就像一个自由加入和退出的俱乐部一样,它本身的作用仅仅是提供一个“房间”,以方便网络上计算机共享资源的浏览。 与工作组的“松散会员制”有所不同,“域”是一个相对严格的组织。“域”指的是服务器控制网络上的计算机能否加入的计算机组合。实行严格的管理对网络安全是非常必要的。 在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”。“域控制器”中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。如果以上信息不正确,域控制器就拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保护的资源,只能以对等网用户的方式访问Windows共享出来

修改iis应用程序池标识添加系统用户

修改iis应用程序池标识,添加系统用户 By ynhu33 85076921 通过应用程序池,你可以配置IIS要启动的工作进程数以及这些进程的更多配置细节。对于IIS管理器中配置的所有应用程序池,Web服务器至少启动一个工作进程。在每个工作进程里,可以容纳多种类型的应用程序--从ISAPI DLL到传统的ASP,当然还有https://www.360docs.net/doc/041489480.html,。为了管理应用程序池,IIS 6.0管理器包含了一个新的配置结点,它是应用程序池。 一旦创建了应用程序池,就可以在这个池里运行Web应用程序了。前面提到过,现在通过应用程序池来实现对Web应用程序的隔离;因此,配置虚拟目录和网站时,应用程序池的设定取代了原先在IIS 5.x里介绍的隔离模式设置。 你可以用应用程序池实现的一个有用的隔离策略是安全性。对于每个具有特殊安全权限的应用程序,你可以创建一个具有那些权限的单独的Windows用户,并配置应用程序池把该Windows用户作为标识。 你可以选择的预定义账号如下所示。 网络服务。这是一个受限的账号,具有比本地系统账号小很多的权限。这个账号适合需要访问网络且需从其他机器访问的应用程序使用。 本地服务。这个账号的限制比网络服务账号的限制更多,它适合不需要额外网络访问的服务使用。使用这个账号运行的服务没有访问其他网络资源的权限,它们只能够访问本地资源。本地系统。著名的本地系统账号当然仍然存在。不过,我们不再推荐任何类型的Web应用程序使用这个账号,因为它是系统最强大的账号。它可以在本地系统上执行任意活动,所以用该账号运行的系统也可以做这一切。从根本上说,你的策略应该是应用程序总是运行在"最小权限"账号下,也就是说,这个账号不应该有任何应用程序实际不需要的权限。因此,如果某人能够攻破该应用程序,危害将被限制到最小,因为应用程序运行的账号是受限的。

php本地配置服务器集群,实现session共享

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。 Web负载均衡 Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要。 负载均衡的策略有很多,我们从简单的讲起哈。 1. HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标。例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址。重定向的HTTP返回码是302,如下图: 如果使用PHP代码来实现这个功能,方式如下:

这个重定向非常容易实现,并且可以自定义各种策略。但是,它在大规模访问量下,性能不佳。而且,给用户的体验也不好,实际请求发生重定向,增加了网络延时。 2. 反向代理负载均衡 反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。因为它工作在HTTP层(应用层),也就是网络七层结构中的第七层,因此也被称为“七层负载均衡”。可以做反向代理的软件很多,比较常见的一种是Nginx。 Nginx是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等。反向代理中,常见的一个问题,就是Web服务器存储的session数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。 解决方案主要有两种: 1. 配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。 2. 将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。 反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web 服务器继续增加,它本身可能成为系统的瓶颈。 3. IP负载均衡

IIS应用程序池多工作进程设置及Session共享

IIS应用程序池多工作进程设置及Session共享 1 概述 微软的IIS作为Windows平台下https://www.360docs.net/doc/041489480.html,网站发布的默认WEB服务器,在性能上提供了比较大的 弹性和可伸缩性,通过应用程序池工作进程数的设置,可以支持从几十到上万并发数量的访问。本文档对相应设置过程进行操作指引,并对设置过程中的注意事项进行重点描述。 2 应用程序池多工作进程设置 根据以往的经验值,在主流的PC-SERVER主机(Xeon E5645 @ 2.4GHz,6核心12线程,32G 内存)上,每个应用程序池的单一工作进程,能够大约承受30-50个左右的并发,如果超出此并发数量,可能会出现IIS无法响应、或响应时间明显变长的问题。通过合理设置应用程序池的最大工作进程数,可显著提高IIS应对高并发的能力,减少网站响应时间。 2.1 设置步骤 1、找到待设置网站对应的应用程序池,如图 1所示: 图 1 找到应用程序池 2、在所选应用程序池上点击右键,选择【高级设置】,如图 2所示: 图 2 高级设置 3、在弹出的【高级设置】窗口中找到【最大工作进程数】,并设置为合理值,如图 3所示: 图 3 设置最大工作进程数 4、点击【确定】按纽保存设置。 2.2 注意事项

图 5 启动服务 4、打开待修改网站主目录下的web.config配置文件,搜索找到“”配置节点,如果不存在配置节点,则在“”节点下新建“”配置节点,并将节点属性修改为: 其中“tcpip=*”后的主机IP地址和端口可根据实际情况修改。修改完后保存配置文件即可。 3.2 注意事项 1、 Session中保存的自定义对象必须显示标记为可序列化“[serializable]”。如果未显示标记为可序列化,则在访问页面时会报错。 2、 StateServer服务器必须为Windows Server操作系统,如Windows Server 2003或Windows Server 2008。

4.局域网共享13个错误解决方法

局域网共享错误13个问题解决方法全攻略(Windows网上邻居) 问题1、连接了一个共享后,再次连接时候提示错误。 或者共享机器更改了密码,需要重新连接,重新输入新的账号密码,不需要重启计算机,的解决方法。 --------------------------- \\192.6.6.6\e$ --------------------------- \\192.6.6.6\e$ 不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次... --------------------------- 确定 --------------------------- 解决方法: net use \\机器名或IP\ipc$ /del 用net use来删除前一个用户的连接 net session这条命令看看你的共享文件夹的电脑上有几个连接 输入命令 net use \\192.6.6.6\d$/del 问题2、共享\\192.6.6.6\d$,开启带美元符号$默认共享方法 开启需要满足的条件: 1.连接共享时候,需要输入账号密码。 那么就必须改“仅来宾”为“经典”模式。到开始—运行—输入gpedit.msc回车—计算机配置—windows设置—安全设置—本地策略—安全设置—“网络访问:

本地用户的共享和安全模式”改为“经典”。这样访问就是经典访问模式了,那么就要去解决经典访问模式的问题了。 2.账号需要设置一个非空密码。 方法2,设置允许远程共享登录允许空密码 到开始—运行—输入gpedit.msc回车—计算机配置—Windows设置—安全设置—本地策略—安全设置—“账户:使用空白密码的本地账户只允许进行控制台登录”—改为“已禁用”。 问题3、未开启网络共享和安全,导致无法共享。 解决方法:在文件夹属性,点击“共享”->“网络共享和安全”->“网络安装向导”按照向导安装即可。 如果你对共享一直搞不清,那么你可以花一至几小时的时间来看这篇文章,我相信以后共享问题你基本上都能解决。 看过了很多人写共享教程,看过了更多人写共享问题解决。可是,我到

域控制器建立完整教程

域控制器建立完整教程 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

[上海360宽带网] [制作人:360宽带网] [] [360宽带网口号:为人民服务] 把一台成员服务器提升为域控制器(一) 目前很多公司的网络中的PC数量均超过10台:按照微软的说法,一般网络中的PC 数目低于10台,则建议采对等网的工作模式,而如果超过10台,则建议采用域的管理模式,因为域可以提供一种集中式的管理,这相比于对等网的分散管理有非常多的好处,那么如何把一台成员服务器提升为域控我们现在就动手实践一下: 本篇文章中所有的成员服务器均采用微软的Windows Server 2003,客户端则采用Windows XP。 首先,当然是在成员服务器上安装上Windows Server 2003,安装成功后进入系统,我们要做的第一件事就是给这台成员服务器指定一个固定的IP,在这里指定情况如下: 机器名:Server 由于Windows Server 2003在默认的安装过程中DNS是不被安装的,所以我们需要手动去添加,添加方法如下:“开始—设置—控制面板—添加删除程序”,然后再点击“添 加/删除Windows组件”,则可以看到如下画面: 向下搬运右边的滚动条,找到“网络服务”,选中: 默认情况下所有的网络服务都会被添加,可以点击下面的“详细信息”进行自定义安装,由于在 这里只需要DNS,所以把其它的全都去掉了,以后需要的时候再安装: 然后就是点“确定”,一直点“下一步”就可以完成整个DNS的安装。在整个安装过程中请保证Windows Server 2003安装光盘位于光驱中,否则会出现找不到文件的提示,那就需要手动定位 了。 安装完DNS以后,就可以进行提升操作了,先点击“开始—运行”,输入“Dcpromo”,然后回车 就可以看到“Active Directory安装向导”

基于springcloud分布式session共享.docx

分布式Session共享 概念 不同进程之间的session共享访问。 解决了分布式系统或者系统集群部署时出现的问题:web容器(如tomcat)管理的session都存放于本地内存中无法共享,用户每次访问的服务器可能都不一样,因此出现服务器不能识别用户、用户登录状态失效等。 解决方案: 方案一:黏性session NGINX等负载均衡网关,可以通过hash映射等方式,保证相同用户的请求会转发到同一台服务器。 优点:简单高效,易实施。 缺点:存在大量请求转发到单点服务器极端情况导致负载均衡失效;单点故障导致用户session丢失。

方案二:tomcat集群session复制 Tomcat提供集群环境下的session复制功能,以达到session共享。 优点:无开发工作量。 缺点:session复制会消耗大量服务器资源,只能应用于小规模的集群。 方案三:Spring session + redis(推荐) Spring session可以接管web容器的session管理,并可以将session 数据存放于redis等第三方存储。 优点:Spring boot/cloud项目无缝集成;可存储海量session数据;可以利用redis提供的持久化保证宕机恢复、服务升级重启用户session不丢失;很好的支持服务在线扩容! 缺点:Spring session没有多语言版本,限制了微服务框架下不同的技术选型。 Spring boot/cloud下的使用方法: 1.增加配置redis和spring session的配置 spring.redis.host=127.0.0.1 spring.redis.password=123456 spring.redis.port=6379

linux下的域控做法

IBM X3400-MT7674安装redhat AS5布署samba3域控和文件服务器 来源: ChinaUnix博客日期:2008.09.11 11:06(共有0条评论) 我要评论 IBM X3400-MT7674安装redhat AS5布署samba3域控和文件服务器 Date:2008.4.9 Author:Wang Xiantong,xiantong@https://www.360docs.net/doc/041489480.html, 1、需求 50个用户,提供域控及文件服务器功能 总经理室/行政组/财务组/工程组/关务组/品保组/制造组 文档中心组 网管组 2、硬件环境 服务器型号:IBM X3400-MT7674 CPU:Intel Xeon E5310 1.6GHz 四核CPU 内存:2G 硬盘:SATA 150G 两块 Raid:hostraid,支持raid0 raid1 raid5 网卡:1000M网卡两块 3、系统安装 3.1、hostraid的raid1(mirror)配置 启动服务器,当出现Press F1 for Configuration/Setup按F1进入setup 选择Devices and I/O Ports =>Advanced Chipset Control 把Serial ATA的参数改为Enabled SATA Controller Mode Option的参数改为Enhanced SATA RAID Enable的参数改为Enabled 按Esc,保存退出

这样就启用了SATA HostRAID功能 接着配置SATA Host RAID,这里建建立一个raid1 按ctrl+alt+del重启服务器 当出现Press for Adaptect RAID Configuration Utility按CTRL+A进入raid配置菜单 选择Array Configuration Utility 选择Ctreate Array 新建raid1,按insert键把两个盘加入,创建方式选Quick Int 按Done完成退出 3.2、安装rehdat AS5 安装linux,最重要的就是到IBM官方下载相对应的LINUXhostraid驱动,否则raid1不能成功应用,安装的的时候还是会看到两块物理硬盘,目前IBM官网只提供redhat AS4U1-AS4U5,AS5,AS4U6和AS5U1没有提供驱动,我刚开始使用centos4.6(对应于redhat as4u6),使用as4u5的驱动不能成功。 下载地址: https://www.360docs.net/doc/041489480.html,/systems/support/supportsite.wss/docdisplay?brandind=5000008&lndocid=MIGR-63041下载ibm_dd_adpahci_1.2.5574_rhel5_x86_64.img对应于我的AS5 因为没有软驱,所以选择用U盘加载刚下载的hostraid驱动,找一台LINUX,利用dd把驱动复制进U盘 #dd if=ibm_dd_adpahci_1.2.5574_rhel5_x86_64.img of=/dev/sdc,这里sdc是我的U盘,你可以通过fdisk -l /dev/sdc 查看是否是U盘,数据写入U盘之后,在linux和windows下都不能看到里面有东西,不要担心,这是因为我们此时把U盘当软盘用,U盘上没有分区,现在只是一个软盘功能了 如果你有外接软驱,你还可以下载Rawrite.exe,利用这个工具在DOS下生成软盘hostraid驱动盘,把 bm_dd_adpahci_1.2.5574_rhel5_x86_64.img和Rawrite.exe全部复制至某盘如C盘的根目录 c:\rawrite回车 Enter disk image Source file name:输入img文件名称,回车 Enter target diskette drive:输入a回车 Please insert a formatted diskette into drive A: and press –Enter-:回车 如果出现不能识别目标文件,请把下载的文件名改个名,rawrite所解压的文件名必须满足8个字符以下,扩展名不能超过3个字符

几种session存储方式比较

几种session存储方式比较 1. 客户端cookie加密 这是我以前采用的方式,简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。 问题:session中数据不能太多,最好只有个用户id。 参考实现:https://www.360docs.net/doc/041489480.html, 2. application server的session复制 可能大部分应用服务器都提供了session复制的功能来实现集群,tomcat,jboss,was都提供了这样的功能。 问题: 性能随着服务器增加急剧下降,而且容易引起广播风暴; session数据需要序列化,影响性能。 如何序列化,可以参考对象的序列化和反序列化. 参考资料 Tomcat 5集群中的SESSION复制一 Tomcat 5集群中的SESSION复制二 应用服务器-JBoss 4.0.2集群指南 3. 使用数据库保存session 使用数据库来保存session,就算服务器宕机了也没事,session照样在。 问题: 程序需要定制; 每次请求都进行数据库读写开销不小(使用内存数据库可以提高性能,宕机就会丢失数据。可供选择的内存数据库有BerkeleyDB,MySQL的内存表); 数据库是一个单点,当然可以做数据库的ha来解决这个问题。 4. 使用共享存储来保存session 和数据库类似,就算服务器宕机了也没事,session照样在。使用nfs或windows文件共享都可以,或者专用的共享存储设备。 问题: 程序需要定制; 频繁的进行数据的序列化和反序列化,性能是否有影响; 共享存储是一个单点,这个可以通过raid来解决。 5. 使用memcached来保存session 这种方式跟数据库类似,不过因为是内存存取的,性能自然要比数据库好多了。 问题: 程序需要定制,增加了工作量; 存入memcached中的数据都需要序列化,效率较低; memcached服务器一死,所有session全丢。memchached能不能做HA 我也不知道,网站上没提。 参考资料 应用memcached保存session会话信息 正确认识memcached的缓存失效 扩展Tomcat 6.x,使用memcached存放session信息 6. 使用terracotta来保存session

域控制器备份_导出域用户的方法

域控制器备份(导出域用户的方法) Csvde 1.开始->运行”并输入“CMD” 2.csvde -f c:user.csv -r objectclass=user 3.csvde -f c:group.csv -r objectclass=group 使用LDIFDE将组织单元、组以及用户的信息导入到新安装的域控制器中,步骤如下: 1)以域管理员的身份登录,在您的新、旧域控制器中安装Support Tools,并请删除与其他域的信任关系 2)在旧的域控制器上,在命令行模式下依次运行以下命令导出对象(请将当前目录置为:c:\): 导出组织单元: C:\>ldifde -f OUList.ldf -s server1 -d dc=testad1,dc=com -p subtree -r "(objectclass=organizationalunit)" -l "dn,managedBy,countryCode,c,description,l,objectClass,ou,postalCode,name,st,strreet,co" 导出组: C:\>ldifde -f GroupList.ldf -s server1 -d dc=testad1,dc=com -p subtree -r "(objectclass=group)" -l "dn,member,info,description,mail,grouptype,instancetype,objectclass,name,samaccountname" 导出用户: C:\>ldifde -f UserList.ldf -s server1 -d dc=testad1,dc=com -p subtree -r"(objectclass=user)" -l "dn,manager,streetaddress,company,countryCode,c,department, displayName,mail,givvenName,homeDirectory,homeDrive,instanceType, l,msNPAllowDialin,objectClass,physicalDeliveryOfficeName,postalCode, profilePath,name,sAMAccountName,st,sn,telephoneNumber,co,title, userAccountControl,userPrincipalName" 3)将保存在c:\路径下的OUList.ldf GroupList.ldf UserList.ldf拷贝至另一台域控制器的c: 4)使用记事本打开上述的三个文件,使用该域的域名字符串替换文件中的域名字符串,如该新域的域名为https://www.360docs.net/doc/041489480.html,,则应该使用testad2来替换testad1,保存退出 5)打开命令行模式,将当前目录置为:c:\,依次运行以下命令导入对象: 导入组织单元: C:\>ldifde -i -f OUList.ldf -k 导入用户: C:\>ldifde -i -f UserList.ldf -k 导入组: C:\>ldifde -i -f GroupList.ldf -k 6)用户导入后,基于安全考虑,密码为空,且已被禁用,设置为“下次登录必须更改密码”,需要您手工开启导入的帐号。注意:在做任何操作前,请备份系统与用户数据!

应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制

应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制 服务器经常产生“应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程ID 是'2068'。”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下: Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性 一、回收 1、回收工作进程(分钟):选中,值为1740 2、回收工作进程(请求数目):不选(原先设置为35000) 3、在下列时间回收工作进程:不填 4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应) 二、性能 只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web 园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。 原来的请求队列限制为4000,现在无限制。 三、运行状况 前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。 启动快速失败保护的钩去掉! 为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次时间段5分钟则关闭对应的程序。 “关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制日志,所以,适当延长这个时间,可以避免这种错误 第2种方法: 原因:独立进程的内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理 解决方法: 1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS 第3种 问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30 第4种 新建应用程序池,不同的网站引用不同程序池。 为应用程序池'AppPool #1' 提供服务的进程关闭时间超过了限制。进程ID 是'3000'。 出现上面情况后,该应用程序池对应的网站就访问的非常慢,几乎是打不开。

Tomcat session共享之MSM

Tomcat session共享—MSM 一、原理 MSM(memcached-session-manager) 支持tomcat6 和tomcat7 ,利用 Value (Tomcat 阀)对Request进行跟踪。Request请求到来时,从memcached加载session,Request请求结束时,将tomcat session更新至memcached,以达到session 共享之目的,支持 sticky 和 non-sticky 模式。 Sticky 模式:tomcat session 为主session, memcached为备 session。Request 请求到来时,从memcached加载备 session 到 tomcat (仅当tomcat jvmroute发生变化时,否则直接取tomcat session);Request请求结束时,将tomcat session更新至memcached,以达到主备同步之目的。 Non-Sticky模式:tomcat session 为中转session, memcached1 为 主 sessionmemcached 2 为备session。Request请求到来时,从memcached 2加载备 session 到 tomcat,(当容器中还是没有session 则从memcached1加载 主 session 到 tomcat,这种情况是只有一个memcached节点,或者有memcached1 出错时),Request请求结束时,将tomcat session更新至主memcached1和备memcached2,并且清除tomcat session 。以达到主备同步之目的。 二、配置 1.sticky 2.non-sticky

Servlet共享数据的五种方式

Servlet共享数据的五种方式 Servlet共享数据的五种方式 一:Cookie(小甜饼)技术 说明: 1.服务器在客户端保存用户的信息 2.此表的数据类型都是String a)创建一个Cookie表 Cookie coo = new Cooke(String name,String value); b)发送一个Cookie添加至客户端 HttpServletResponse res; res.addCookie(coo); 说明:在C盘的Documents and Settings内一个以用户名命名的文件夹下,Cookies文件夹内 c)从客户端得到所有的Cookie至服务器 HttpServletRequest req; Cookie[] allCookies = req.getCookies(); for(Cookie temp:allCookies) {

if(temp.getName().equals("***")){ String value = temp.getVelue(); } } d)Cookie存在时间的设置(以秒为单位) coo.setMaxAge(60*1); 说明:不设置则此Cookie将不会保存 e)删除这一个Cookie temp.setMaxAge(0); 二:sendRedirect()转向 a)发送数据 HttpServletResponse res; res.sendRedirect("ServletName?name1="+value_1+"&name2="+value_ 2); 说明:这行数据将会全然暴露于浏览器地址栏中! b)接收数据 HttpServletRequest req; String name_1 = req.getParameter("name1"); String name_2 = req.getParameter("name2");

域控中的用户配置

原文地址:如何将本地用户配置文件更改为域用户漫游作者:kevin 1.先讲讲直接新建域用户,在DC中设置用户漫游; 2.再讲,如果原来用户是本地用户,如何将原有的本地用户的配置文件让她成为漫游用户,配置文件也漫游; 3.跟大家讲讲如何让本地用户配置文件迁移为域用户配置文件,即本来有一用户abc为本地用户,现在该电脑加入了域,域中有一用户abc,然后电脑要用abc 用户登陆到域,而用户配置文件使用本地的abc配置文件; 一,在DC中设置用户漫游 实验环境使用VMW虚拟机,客户端为Windows XP SP2,服务器端为Windows Server 2003 SP2企业版。 首先将服务器端安装好活动目录,无需任何设置,默认安装即可,并将客户端加入到域。 下面开始具体操作 1、首先在服务器端用Active Directory用户和计算机管理工具建立一个User,我这里以“小五”为用户名,如下图 2、在服务器端建立保存用户配置文件的共享文件夹,本文在c盘建立了一个user文件夹,用来保存所有用户配置文件,然后再user文件夹下建立一个“小五”文件夹,用来保存“小五”用户的配置文件。这里面一定要注意权限的设置,在共享文件夹中的权限去掉everyone,然后找到我们域中的用户“小五”,给他所有权限。

3、进一步权限设置,如图

这样权限方面问题已经设置完成 4、在Active Directory用户和计算机管理工具中为“小五”用户设置用户配置文件漫游,如图

192.168.1.201为我们的服务器,后面所接的“user/小五”为保存用户配置文件的共享文件夹 主文件夹相当于用户的“我的文档”,这里面映射到服务器上,更能保证用户文件安全性与可靠性。 现在配置基本完成,我们从客户端登录一下试试看 初次登陆之后,我们注销,这样,本地的配置文件,就会自动保存到服务器上对应的文件夹。 回到服务器上我们会看到生成好多文件,刚才这里面还是空的

域控制器管理方案.doc

网络域控管理方案

前言 随着Internet 接入的普及和带宽的增加,一方面员工上网的条件得到改善,另一方面也给公司带来更高的网络使用危险性、复杂性和混乱。网络对办公环境造成的危害主要表现为: 1)为给用户电脑提供正常的标准的办公环境,安装操作系统和应用软件已经耗费了信息管理中心人员一定的精力和时间,同时又难以限制用户安装软件,导致管理人员必须花费其50% 以上的精力用于维护用户的PC 系统,无法集中精力去开发信息系统的深层次功能,提升信息系统价值。 2)由于使用者的防范意识普遍偏低,防毒措施往往不到位,一旦发生病毒感染,往往扩散到全网络,令网络陷于瘫痪状态,部分致命的蠕虫病毒利用TCP/IP 协议的各种漏洞,使得木马、病毒传播迅速,影响规模大,导致网络长时间处于带毒运行,反复发作而维护人员。 3)部分网站网页含有恶意代码,强行在用户电脑上安装各种网络搜索引擎插件、广告插件或中文域名插件等,增加了办公电脑大量的资源消耗,导致计算机反应缓慢; 4)个别员工私自安装从网络下载安装的软件,这些从网络上下载的软件安装包多数附带各种插件、木马和病毒,并在安装过程中用户不知情的情况下强行安装在办公电脑上,增加了办公电脑大量的资源消耗,导致计算机反应缓慢,甚至被远程控制; 5)局域网共享,包括默认共享(无意),文件共享(有意),一些病毒比如ARP 通过广播四处泛滥,影响到整个片区办公电脑的正常工作; 6)部分员工使用公司计算机上网聊天、听歌、看电影、打游戏,部分员工全天24 小时启用P2P 软件下载音乐和影视文件,由于flashget、迅雷和BT 等软件并发线程多,导致大量带宽被部分员工占用,网络速度缓慢,导致应用软件系统无法正常开展业务,即便是严格的计算机使用管理制度也很难保障企业中的计算机只用于企业业务本身,PC 的业务专注性、管控能力不强。 一、解决方案 为了更好地进行网络管理,合理分配和使用网络资源,规范,引导用户安全使用办公电脑,加强对用户帐号,密码策略,用户访问权限以及文件安全管理机制,我司建议采用域控制器与文件服务器相结合的管理模式。 二、域的概述 1.域控制器的定义域”的真正含义指的是服务器控制网络上的计算机能否加入的计算机组合。一提到组合,势必需要严格的控制。所以实行严格的管理对网络安全是非常必要的。在对等网模式下,任何一台电脑只要接入网络,其他机器就都可以访问共享资源,如共享上网等。尽管对等网络上的共享文件可以加访问密码,但是非常容易被破解。不过在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”。 2.域控制器的好处

相关文档
最新文档