0中布署MVC站点的经验分享,最大工作进程数

在网上找了一些文章,综合了几个,才终于搞定了。

windows环境下,php5.3版本同时开始ZendGuardLoader和wincache的话,会导致zend加密过的部分文件会无法正常运行,提示“Zend
Guard Run-time support missing!”。

IIS 6.0允许将应用程序池配置成一个Web园(Web
Garden)。要理解Web园的概念,可以设想这样一种情形:假设有一个IIS
5.0服务器和三个Web网站,每一个Web网站运行着相同的应用程序,如果IIS
5.0能够自动按照圆形循环的模式将请求依次发送给这些功能上等价、实际上分离的Web网站,将负载分离到三个不同的进程,就可以构成一个小型的Web农场(Web
Farm)——这就是Web园。

 

问题重现:从应用中心安装需要zend支持的插件时,校验文件(经过zend加密过的单一文件)正常,也能通过应用中的校验并下载插件,但在安装插件时就会出现上面说到那些提示。

  在IIS
6.0的Web园中,我们不必创建额外的Web网站,只要指定用于某个应用程序池的工作进程的数量就可以了。具体的配置步骤是:打开应用程序池的“属性”对话框,转到“性能”页,在“Web园”下面的“最大工作进程数”输入框中输入进程数量,如图八。当服务器的负载较小,不需要额外的工作进程时,IIS
6.0在一定的时间后(默认20分钟,可配置)自动缩减实际的工作进程数量;如果负载变大,需要额外的工作进程,IIS
6.0再次增加工作进程数量。这一切操作都自动进行,不需要管理员干预。

服务器环境要求:

图片 1

Web园:在Web园中你可以配置此应用程序池所使用的最大工作进程数,默认为1,最大可以设置为4000000;
配置使用多个工作进程可以提高该应用程序池处理请求的性能,但是在设置为使用多个工作进程之前,请考虑以下两点:

Windows 2003 server + IIS6.0

问题分析:zend与wincache冲突

  每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;

1.必须安装.net framework 4.0, MVC

解决方法:

  每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。

2.最好能安装.net framework 的sp1, 我们服务器上装的是.net framework 3.5
sp1和mvc3.

关于wincache;
在php.ini中的 extension=php_wincache.dll 下面加一行
wincache.fcenabled=0 即可。

  问: IIS 6.0 具有一个名为 Web
园的新功能,有了它,可以将应用程序池配置为使用多个工作进程。IIS
何时创建额外的工作进程?在我们实施 Web 园之前,我们应该了解哪些知识?

 

  答:在您创建应用程序池时,就会通知 IIS 6
创建一个工作进程,以传送指派给该应用程序池的 Web
站点、文件和文件夹的内容。您可以将应用程序池配置为启动多个,而非一个工作进程,这样可以提高可扩展性。这个功能的名为
Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web
农场),而是可以使用一台计算机中的多个进程来传送相同的内容。

IIS站点配置

  在将 IIS 6 应用程序配置为 Web
园时,您只需在“应用程序池属性”的“性能”选项卡的“最大工作进程数”框中,设置一个大于
1 的工作进程数。如果这个值大于
1,每个请求都将启动一个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数。后续的请求将以循环的方式发送至工作进程。

  1. 添加站点, 在站点上右击“属性”,选择“主目录”选项卡, 点击“配置”按钮,
    弹出一个窗口。目录浏览可以不用。

  Web
园在您的应用程序资源有限的情况下非常有用。例如,如果您到数据库的连接很慢,那么您可以使用多个工作进程来增加用户吞吐量,从而增加到数据库的连接数。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图