|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。win2003server下的IIS6默许设置下对每一个运转在默许使用池中的事情者历程城市经由20多个小时后主动接纳该历程,形成保留在该历程中的session丧失。
由于Session,Application等数据默许保留在运转该Web使用程序的事情者历程中,假如接纳事情者历程,则会形成丧失。
办理举措:
修正设置,设置为不准时主动接纳该事情者历程,好比设置为当超越占用现有物理内存60%后主动接纳该历程。经由过程利用默许使用程序池,能够确保多个使用程序间相互断绝,包管因为一个使用程序的溃散不会影响别的的Web使用程序。还可使一个自力的使用程序运转在一个指定的用户帐号特权之下。
假如利用StateServer体例大概SqlServer数据库体例来保留Session,则不受该设置的影响。
大概的缘故原由2:
体系要运转在负载均衡的Web场情况中,而体系设置文件web.config中的Session形态却设置为InProc(即在当地存储会话形态),导至在用户会见量年夜时,Session常经超时的情形。引发这个征象的缘故原由次要是由于用户经由过程负载均衡IP来会见WEB使用体系,某段时分在某台服务器保留了Session的会话形态,但在别的的WEB前端服务器中却没有保留Session的会话形态,而跟着并发量的增年夜,负载均衡会看成路由随时会见余暇的服务器,了局余暇的服务器并没有之前保留的Session会话形态。
办理举措:
1.当您在负载均衡的Web场情况中运转ASP.NETWeb使用程序时,必定要利用SqlServer或StateServer会话形态形式,在项目中我们基于功能思索并没有选择SqlServer形式来存储Session形态,而是选择一台SessionStateServer服务器来用户的Session会话形态。我们要在体系设置文件web.config中设置以下:
<sessionStatemode="StateServer"cookieless="false"timeout="240"stateConnectionString="tcpip=192.168.0.1:42424"stateNetworkTimeout="14400"/>
还要增加一项
<machineKeyvalidationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4"decryptionKey="5FC88DFC24EA123C"validation="SHA1"/>
2.我们同时还要在SessionStateServer服务器中启动ASP.NETStateService服务,详细设置:把持面板>>办理工具>>服务>>ASP.NETStateService,把它设为主动启动便可。
3.每台前端WEB服务的Microsoft“Internet信息服务”(IIS)设置
要在Web场中的分歧Web服务器间保护会话形态,Microsoft“Internet信息服务”(IIS)设置数据库中Web站点的使用程序路径(比方,LMW3SVC2)与Web场中一切Web服务器必需不异。巨细写也必需不异,由于使用程序路径是辨别巨细写的。在一台Web服务器上,承载ASP.NET使用程序的Web站点的实例ID多是2(个中使用程序路径是LMW3SVC2)。在另外一台Web服务器上,Web站点的实例ID多是3(个中使用程序路径是LMW3SVC3)。因而,Web场中的Web服务器之间的使用程序路径是分歧的。我们必需使Web场Web站点的实例ID不异便可。你能够在IIS中把某一个WEB设置信息保留为一个文件,其他Web服务器的IIS设置能够来自这一个文件。
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么? |
|