Microsoft Windows Server 2003 Deployment Kit—Deploying Microsoft Internet Information Services (IIS) 6.0 [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Microsoft Windows Server 2003 Deployment Kit—Deploying Microsoft Internet Information Services (IIS) 6.0 [Electronic resources] - نسخه متنی

Microsoft Corporation

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
توضیحات
افزودن یادداشت جدید












Testing Applications for Compatibility


Whether you are deploying existing applications that were developed for earlier versions of IIS on a server running IIS 6.0 in worker process isolation mode, or you are deploying new applications, it is important to test the applications for compatibility with worker process isolation mode features.

Functional testing consists of installing and configuring applications on a test server, and then sending HTTP requests to the application from a client on another computer. Load testing is functional testing that consists of sending HTTP requests in rapid succession to stress the worker process and the server. In both cases, you must diagnose the results for possible incompatibilities.

Figure 4.5 shows the process for testing application compatibility with worker process isolation mode.


Figure 4.5: Testing Applications for Compatibility

Checking for Known Conflicts with IIS 6.0


Most Web applications that run on earlier versions of IIS will run on IIS 6.0 in worker process isolation mode. However, in some cases, applications cannot run in worker process isolation mode. In other cases, you might be required to disable certain features to run an application in worker process isolation mode.


Applications that have the following characteristics are incompatible with worker process isolation mode, or must have certain features disabled to run in worker process isolation mode:



Require Read Raw Data Filters. Applications that require Read Raw Data Filters are not compatible with worker process isolation mode. The Read Raw Data Filters feature is only supported in IIS 5.0 isolation mode.



Require Digest authentication. You must use LocalSystem as the application pool identity for standard Digest authentication. This restriction does not apply when you are using Advanced Digest authentication.



Run only as a single instance. When an application only runs as a single instance, you cannot configure Web gardens, you cannot run the application in more than one application pool, and you cannot use overlapped recycling.



URL length exceeds 16 kilobytes. The default request header limit for HTTP.SYS is 16KB.



ASP applications that use consecutive dots in an include file. Using two or more consecutive dots in an include file only works if parent paths are enabled. Alternatively, consider not using includes files.



Dependency on Inetinfo.exe. The application requires Inetinfo.exe, but the Inetinfo.exe process does not run in worker process isolation mode. This occurs rarely, if at all.



Require Dllhost.exe. The application requires Dllhost.exe, but the Dllhost.exe process is not available in worker process isolation mode. This occurs rarely, if at all.




Testing Applications for Compatibility with IIS 6.0


You can begin to test the compatibility of an application during the setup process for each application that you install on IIS 6.0.

To perform a setup test, complete the following steps:



Install the application by using the setup software provided.



Examine the IIS log (in \\Windows\System32\LogFiles\W3SVCxxx) for messages that indicate a WWW service failure. Also, look at the system Event log for 500-level errors.



Some common incompatibilities can be identified when you set up applications to run in IIS 6.0 worker process isolation mode. You can recognize these common incompatibilities by their symptoms, and then take the appropriate action to resolve them.

Version Detection Incompatibility


During setup, some applications fail to detect the IIS version correctly because they try to read non-standard registry keys that do not exist in IIS 6.0. The supported version information is under the following registry key: HKLM\SOFTWARE\Microsoft\InetStp



Symptoms


Some applications check for a 5 or a 4 in the version information, and then quit setup if the value is 6.

Non-standard registry locations where applications might look for version information include the following:


HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
HKLM\SOFTWARE\Microsoft\InetMGR\Parameters


Resolution


Add the registry keys that the application is searching for to the registry. Otherwise, you cannot run the applications until you modify them to search for an existing registry key.

Wwwroot and Scripts Retrieval Incompatibility


Some applications use a nonexistent registry key to retrieve wwwroot and scripts. When this is true, the following message appears during setup:


HKLM/System/CurrentControlSet/W3svc/Parameters/Virtual Roots
"/ "=REZ_SZ:<physical location of wwwroot>
"/Scripts"=REZ_SZ:<physical location of scripts>


Symptom


Setup shows no default value for the wwwroot and scripts directories.


Resolution


Add the registry keys that the application is searching for to the registry. Otherwise, you cannot run the applications until you modify them to search for an existing registry key.


Testing Applications for Functional Compatibility with IIS 6.0


You can test the functional compatibility of an application running in worker process isolation mode by installing the application on a test server, and then sending HTTP requests to the application from another computer. You can identify the following functional incompatibilities when you send correctly composed HTTP requests to applications that were developed for earlier versions of IIS, or to new applications yet to be tested.

ISAPIs Not Enabled in the Web Service Extensions Node


Some application setups install script maps for their script engine but do not enable the script engine, and the documentation for the application might not mention the need to set the properties (by using IIS Manager, for example).



Symptoms


If your log file (%systemroot%\system32\logfiles\w3svc\Filename.log) returns a 404 error with suberror code 2, then your application is trying to use a disabled ISAPI or Common Gateway Interface (CGI) file.


Resolution


Use the Web Service Extensions node in IIS Manager to enable the ISAPI or CGI file. Be sure to enter the exact path entry that is in the scriptmaps setting in the path part of the entry.

MIME Types Incompatibility


Your application might use a file name extension that is not recognized by IIS 6.0.


Symptoms


If your WWW service log file, which is located in systemroot%\system32\logfiles\w3svc\Filename.log, returns a 404 error with suberror code 3, then a file name extension is not recognized by IIS 6.0.


Resolution


Manually add the file name extension to the computer-level properties in IIS Manager. For more information about configuring MIME types, see "Configure MIME Types" in "IIS Deployment Procedures" in this book.

Recycling Incompatibility


The configurable recycling feature in IIS 6.0 might expose some design flaws in your applications. The most common problem is that applications take too long to start up or to shut down. For example, it is not a problem in IIS 5.0 if an application receives an access violation when shutting down. However, an IIS 6.0 administrator might see error messages in the Event log indicating that the application pool is taking too long to shut down. If the application needs to warm up when it starts up, then recycling causes the application to run at low efficiency every time it starts up. If the application does not save its state data when it shuts down, it loses state data often. Test the impact of the recycling period by configuring it to a shorter time and continuing to check the log.


Symptoms


You can identify recycling incompatibility problems by testing the worker process with a short recycle period. If problems exist in the applications in the application pool that is served by the worker process, the following symptoms might occur:



If an application is shutting down slowly, you might find error messages in the Event log, which indicate that the worker process is exceeding its shutdown time limit.



If the application needs time to warm up when it starts, response times might be very slow at first.





Resolution


The application might require extensive modification. While running the application unmodified, you cannot use recycling. For more information about configuring the features for worker process recycling, see "Configure Application Pool Recycling" in "IIS Deployment Procedures" in this book.

Overlapped Recycling and Single Instance Application Incompatibility


If your application cannot run as multiple instances, then overlapped recycling fails. The failure occurs because the new worker process is running before the existing worker process is terminated, resulting in an attempt to run two instances of the same application.


Symptoms


The symptoms are synchronization-related, such as an access denied error that appears in the IIS log (in \\Windows\System32\LogFiles\W3SVCxxx:).


Resolution


Do not use overlapped recycling. For more information about configuring the features for recycling worker processes, see "Configure Application Pool Recycling" in "IIS Deployment Procedures" in this book.

Subauthentication Is Not Installed


Subauthentication is not installed by default. You require subauthentication if both of the following are true:



You are using Digest authentication on your server running IIS 6.0.



The domain controller is running IIS 5.0.




Symptom


Digest authentication fails.


Resolution


Install subauthentication on your server. For information about how to install subauthentication, see "Install Subauthentication" in "IIS Deployment Procedures" in this book.

/ 174