<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Kanwaljeet Singla's Blog</title><link>https://blogs.iis.net:443/ksingla/</link><description></description><item><title>Podcast on running PHP on Windows</title><link>https://blogs.iis.net:443/ksingla/podcast-on-running-php-on-windows</link><description>&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;SPAN style="COLOR: #000080"&gt;Peter Laudati&lt;/SPAN&gt;&lt;/SPAN&gt; &amp;amp; &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/www.lyalin.com');" href="http://www.lyalin.com/blog"&gt;&lt;FONT color=#0071bb&gt;Dmitry Lyalin&lt;/FONT&gt;&lt;/A&gt; host the edu-training &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/www.connectedshow.com');" href="http://www.connectedshow.com/"&gt;&lt;FONT color=#0071bb&gt;Connected Show&lt;/FONT&gt;&lt;/A&gt; developer podcast on cloud computing and interoperability. I met Peter in Chicago during Tek-X and we along with &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.iis.net');" href="http://blogs.iis.net/donraman/"&gt;&lt;FONT color=#0071bb&gt;Don&lt;/FONT&gt;&lt;/A&gt; and &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.iis.net');" href="http://blogs.iis.net/wadeh/"&gt;&lt;FONT color=#0071bb&gt;Wade&lt;/FONT&gt;&lt;/A&gt; recorded a podcast on evolution of PHP on the Windows Platform. We talked about the improvements made to Windows in order to support PHP, including: Fast CGI, WinCache, PHP 5.3, the Web PI, and the SQL Server driver for PHP. Check out episode #31, “PHP On Windows” on &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/www.connectedshow.com');" href="http://www.connectedshow.com/default.aspx?Episode=31"&gt;&lt;FONT color=#0071bb&gt;Connected Show&lt;/FONT&gt;&lt;/A&gt;. Interview starts at 24:31. &lt;A title=http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/ href="http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/" mce_href="http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/ href="http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/" mce_href="http://www.ksingla.net/2010/06/podcast-on-running-php-on-windows/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;</description><pubDate>Thu, 10 Jun 2010 18:37:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/podcast-on-running-php-on-windows</guid></item><item><title>Impact of name resolution on mysql_connect perfomance</title><link>https://blogs.iis.net:443/ksingla/impact-of-name-resolution-on-mysql-connect-perfomance</link><description>I spend lot of time profiling popular PHP applications finding where exactly processing time is spent during PHP execution. Few months ago, one thing which caught my attention was performance of &lt;EM&gt;mysql_connect&lt;/EM&gt; API. On my windows test bench, &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/xdebug.org');" href="http://xdebug.org/"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;xdebug&lt;/SPAN&gt;&lt;/A&gt; output showed that one call to &lt;EM&gt;mysql_connect&lt;/EM&gt; was taking 0.31 seconds which is huge. While playing with the API, I noticed that when IP address of the MySQL machine is used instead of the hostname, performance of &lt;EM&gt;mysql_connect&lt;/EM&gt; API is much better. &lt;A title=http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/ href="http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/" mce_href="http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/"&gt;Read more ...&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/ href="http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/" mce_href="http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;</description><pubDate>Sun, 06 Jun 2010 20:05:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/impact-of-name-resolution-on-mysql-connect-perfomance</guid></item><item><title>Work items collected from Tek-X</title><link>https://blogs.iis.net:443/ksingla/work-items-collected-from-tek-x</link><description>Last week I was in Chicago in the company of very passionate and smart PHP programmers at &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/joind.in');" href="http://joind.in/event/view/137"&gt;&lt;FONT color=#0071bb&gt;Tek-X&lt;/FONT&gt;&lt;/A&gt;. I got to meet some well-known members of PHP community and also fellow Microsoft employees who have been working on improving PHP experience of Windows. I would admit that meeting people was the best part of Tek-X for me. Sessions were great too and I learnt a great deal from them. I returned to Seattle more knowledgeable and passionate for PHP then ever. One of the things I wanted to get from Tek-X was a list of problems PHP users face on Windows so that we can work on solving them. &lt;A title=http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/ href="http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/" mce_href="http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/ href="http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/" mce_href="http://www.ksingla.net/2010/05/work-items-collected-from-tek-x/"&gt;&lt;EM&gt;View the original post&lt;/EM&gt;&lt;/A&gt;</description><pubDate>Sat, 29 May 2010 23:32:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/work-items-collected-from-tek-x</guid></item><item><title>Using IIS configuration tools to manage HWC configuration</title><link>https://blogs.iis.net:443/ksingla/using-iis-configuration-tools-to-manage-hwc-configuration</link><description>I have seen many people built some innovative solutions on top of &lt;A href="http://www.ksingla.net/2007/12/ins_outs_of_hostable_web_core/"&gt;&lt;FONT color=#0071bb&gt;hostable web core&lt;/FONT&gt;&lt;/A&gt; (HWC) functionality which was added in IIS7. One of the questions which HWC users frequently ask is how to make IIS configuration tools (like appcmd, UI etc.) work against configuration file which their HWC instance is using. So far they have been either doing manual modifications to HWC configuration file or making changes to IIS configuration and then porting over to HWC configuration. &lt;A title=http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/ href="http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/" mce_href="http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/"&gt;Read more ...&lt;BR&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/ href="http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/" mce_href="http://www.ksingla.net/2010/05/using-iis-configuration-tools-to-manage-hwc-configuration/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;</description><pubDate>Sat, 29 May 2010 21:11:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/using-iis-configuration-tools-to-manage-hwc-configuration</guid></item><item><title>Wordpress widget to show WinCache statistics</title><link>https://blogs.iis.net:443/ksingla/wordpress-widget-to-show-wincache-statistics</link><description>Ruslan (&lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/ruslany.net');" href="http://ruslany.net/"&gt;&lt;FONT color=#0000ff&gt;http://ruslany.net&lt;/FONT&gt;&lt;/A&gt;), who is Program Manager for &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/www.iis.net');" href="http://www.iis.net/expand/wincacheforphp/"&gt;WinCache&lt;/A&gt; project, has been showing WinCache statistics on the right sidebar of his &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/ruslany.net');" href="http://ruslany.net/"&gt;&lt;FONT color=#0000ff&gt;website&lt;/FONT&gt;&lt;/A&gt; for quite some time. Few weeks ago I decided to do the same but instead of editing theme source code and add the information there, I decided to write a standalone wordpress widget. Two days ago I finally wrote the widget which is aptly called &lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');" href="http://wordpress.org/extend/plugins/wincache-stats/"&gt;&lt;FONT color=#0000ff&gt;wincache-stats&lt;/FONT&gt;&lt;/A&gt;. It shows statistics in a table format. First column of the table show cache type and number of entries in cache, second column show hit count and hit ratio and third column show miss count and miss ratio. It can be see in action on &lt;A href="http://www.ksingla.net/"&gt;http://www.ksingla.net&lt;/A&gt;. &lt;A title=http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/ href="http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/" mce_href="http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/ href="http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/" mce_href="http://www.ksingla.net/2010/05/wordpress-widget-to-show-wincache-statistics/"&gt;&lt;EM&gt;View the original post&lt;/EM&gt;&lt;/A&gt;</description><pubDate>Fri, 28 May 2010 03:37:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/wordpress-widget-to-show-wincache-statistics</guid></item><item><title>PHP PGO build for maximum performance on Windows</title><link>https://blogs.iis.net:443/ksingla/php-pgo-build-for-maximum-performance-on-windows</link><description>&lt;P mce_keep="true"&gt;In the last few years VC++ team have done some awesome work with &lt;A href="http://msdn.microsoft.com/en-us/library/e7k32f4k(VS.80).aspx" _cke_saved_href="http://msdn.microsoft.com/en-us/library/e7k32f4k(VS.80).aspx"&gt;profile guided optimizations&lt;/A&gt; (PGO). PGO improves performance of certain code paths which are more likely to be used in production environments. Most of the teams in Microsoft have been using this technology to speed up most commonly used scenarios. One of the ideas initially floated by &lt;A href="http://port25.technet.com/members/Garrett-Serack.aspx" _cke_saved_href="http://port25.technet.com/members/Garrett-Serack.aspx"&gt;Garrett&lt;/A&gt; was to start using PGO for building PHP. Garrett wrote a &lt;A href="http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx" _cke_saved_href="http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx"&gt;blog&lt;/A&gt; on how to produce a PGO build but the steps involved were little complex. I started looking into simplifying the process and came up with a simpler way. I am going to walk you through the steps I used in this blog. All the steps written in this blog are tested to work with VC9 compiler. &lt;A title=http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/ href="http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/" mce_href="http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/ href="http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/" mce_href="http://www.ksingla.net/2010/05/php-pgo-build-for-maximum-performance-on-windows/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;</description><pubDate>Sat, 15 May 2010 20:38:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/php-pgo-build-for-maximum-performance-on-windows</guid></item><item><title>Adding a PECL extension to your PHP build environment</title><link>https://blogs.iis.net:443/ksingla/adding-a-pecl-extension-to-your-php-build-environment</link><description>Last week I published &lt;A href="http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/"&gt;&lt;FONT color=#0071bb&gt;winbuild.bat&lt;/FONT&gt;&lt;/A&gt; to setup PHP build environment on windows. In this blog I am covering how to add a PECL extension to the PHP build system. I will also show how to static link a PHP extension and how much performance benefit you can get by that. &lt;A title=http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/ href="http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/" mce_href="http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/"&gt;Read more...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/ href="http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/" mce_href="http://www.ksingla.net/2010/05/adding-a-pecl-extension-to-your-php-build-environment/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;</description><pubDate>Fri, 14 May 2010 22:00:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/adding-a-pecl-extension-to-your-php-build-environment</guid></item><item><title>Setting up PHP build environment on Windows</title><link>https://blogs.iis.net:443/ksingla/setting-up-php-build-environment-on-windows</link><description>&lt;P mce_keep="true"&gt;One of the things I have done many times in the past year is setting up a build environment for PHP on Windows. I have been using a simple script to do this which I am releasing today with this blog. &lt;A title=http://www.ksingla.net/wp-content/uploads/2010/05/winbuild.zip href="http://www.ksingla.net/wp-content/uploads/2010/05/winbuild.zip" mce_href="http://www.ksingla.net/wp-content/uploads/2010/05/winbuild.zip"&gt;&lt;FONT color=#0071bb&gt;Here&lt;/FONT&gt;&lt;/A&gt; is the zip file contains the script winbuild.bat along with essential tools (wget and unzip) which the script requires. Before you run &lt;EM&gt;winbuild.bat&lt;/EM&gt;, make sure Visual Studio (or VC9 expression edition) and TortoiseSVN are installed on the machine. &lt;A title=http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/ href="http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/" mce_href="http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/ href="http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/" mce_href="http://www.ksingla.net/2010/05/setting-up-php-build-environment-on-windows/"&gt;&lt;EM&gt;View the original post&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;</description><pubDate>Thu, 06 May 2010 05:33:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/setting-up-php-build-environment-on-windows</guid></item><item><title>Goodness of dynamic maxInstances in FastCGI</title><link>https://blogs.iis.net:443/ksingla/goodness-of-dynamic-maxinstances-in-fastcgi</link><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;One of the major pain points in FastCGI 1.0 was that users were required to set maxInstances to a number which works best for their application. Many users didn’t tune this value and were running FastCGI with default value of maxInstances which didn’t give them optimal performance. We recommended users to set maxInstances to (10 * number of processors) if they don’t want to go through the pain of finding the ideal maxInstances for them which worked much better than default value but still didn’t give optimal performance. Even when users fine-tuned maxInstances to ideal value, they didn’t always get best possible performance at all times due to variations in traffic, server/application configuration changes and code changes. &lt;A title=http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/ href="http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/" mce_href="http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/ href="http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/" mce_href="http://www.ksingla.net/2010/05/goodness-of-dynamic-maxinstances-in-fastcgi/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description><pubDate>Mon, 03 May 2010 21:14:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/goodness-of-dynamic-maxinstances-in-fastcgi</guid></item><item><title>What’s new in WinCache 1.1 Beta2 and what’s next</title><link>https://blogs.iis.net:443/ksingla/what-s-new-in-wincache-1-1-beta2-and-what-s-next</link><description>&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;After WinCache 1.0 release, two most requested features were user cache and session cache. We added both of these features in WinCache 1.1 beta1. We are very happy with the rate of adoption of user cache by PHP application developers. Many application developers have already added support for WinCache user cache in their applications and many are in the process of adding it. Earlier we were planning to add only these two features in WinCache 1.1 and then do more performance optimizations in WinCache 1.2 but later we decided to add these additional optimizations in 1.1 release itself. Because of this, we did beta2 release which has file change notification and function hooks support along with some small feature additions. &lt;A title=http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/ href="http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/" mce_href="http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/ href="http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/" mce_href="http://www.ksingla.net/2010/05/whats-new-in-wincache-1-1-beta2-and-whats-next/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/SPAN&gt;</description><pubDate>Mon, 03 May 2010 18:59:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/what-s-new-in-wincache-1-1-beta2-and-what-s-next</guid></item><item><title>Comparing WinCache user cache APIs with other caches</title><link>https://blogs.iis.net:443/ksingla/comparing-wincache-user-cache-apis-with-other-caches</link><description>&lt;P style="MARGIN: 0in 0in 12pt" class=MsoNormal&gt;&lt;A href="http://www.iis.net/expand/wincacheforphp"&gt;&lt;FONT size=3 face=Calibri&gt;WinCache 1.1 beta release&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; added two new major features to WinCache. These are user cache APIs which can be used to store custom data in the cache and “wincache” session handler. User cache APIs was the biggest feature gap WinCache 1.0 had compared to other caching solutions which are frequently used on Linux. WinCache 1.1 release was aimed to fill this gap. WinCache session handler, which internally uses user cache, is included so that php session data can be stored in in-memory shared cache instead of on disk which tend to be slower. Read more about these features &lt;/FONT&gt;&lt;A href="http://us.php.net/manual/en/book.wincache.php"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;BR&gt;&lt;BR&gt;Both the features are very well received by customers and many open source application developers are working to include support for these in the applications. If you want to use WinCache user cache APIs to speed up your php application, it will be useful to first look for code which is doing that with other caches like APC, Xcache and Eaccelerator. If the application is written to make use of a caching solution, chances are that there will be plug-in available for APC or Xcache or Eaccelerator. Once you have the code you can use the following table to easily map API calls to other caches to WinCache. &lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;WINCACHE&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;APC&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;XCACHE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;EACCELERATOR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_get&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_fetch&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_get&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;eaccelerator_get&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_set&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_store&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_set&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;eaccelerator_put&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_add&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_add&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;NONE&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_exists&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;NONE&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_isset&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_delete&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_delete&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_unset&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;eaccelerator_rm&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_clear&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_clear_cache&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_clear_cache&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;eaccelerator_clear&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_inc&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_inc&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_inc&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_dec&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_dec&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_dec&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_cas&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_cas&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;NONE&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 10; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;wincache_ucache_info&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;apc_sma_info&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;xcache_info&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 119.7pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=160&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;eaccelerator_list_keys&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;BR&gt;Other than unset_by_prefix functionality in Xcache, WinCache provides a superset of the functionality offered by other caching solutions. Another piece missing in WinCache is APIs similar to eaccelerator_lock and eaccelerator_unlock. We are trying to understand scenarios in which these APIs will be required by developers while working with user cache APIs. If we see these are required, we will add these in future. I hope this table makes it easy to use WinCache user cache APIs and port code written for existing caches.&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN class=method-title1&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;A title=http://www.ksingla.net/2010/03/comparing-wincache-user-cache-apis-with-other-caches/ href="http://www.ksingla.net/2010/03/comparing-wincache-user-cache-apis-with-other-caches/" mce_href="http://www.ksingla.net/2010/03/comparing-wincache-user-cache-apis-with-other-caches/"&gt;View the original post&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description><pubDate>Wed, 31 Mar 2010 00:24:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/comparing-wincache-user-cache-apis-with-other-caches</guid></item><item><title>Application specific mapping in FastCGI ISAPI 1.5</title><link>https://blogs.iis.net:443/ksingla/application-specific-mapping-in-fastcgi-isapi-1-5</link><description>IIS team recently released FastCGI ISAPI 1.5 for IIS 5.1 and IIS 6.0. One of the major new features added in this release is per application process pools. Per application process pools allow users to specify a unique FastCGI mapping for a particular web application in fcgiext.ini. Using this functionality administrators can now choose to run a web application with PHP version which can be different from what is used for rest of the PHP applications in the same site or the server. This was always possible in IIS 7.0 and 7.5 by overriding PHP handler in web.config but not on WinXP and Win2K3. Version 1.0 of FastCGI ISAPI only allowed specifying a different process pool at a site level granularity. &lt;A title=http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/ href="http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/" mce_href="http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/ href="http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/" mce_href="http://www.ksingla.net/2010/02/application-specific-mapping-in-fastcgi-isapi-1-5/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;</description><pubDate>Mon, 01 Feb 2010 03:26:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/application-specific-mapping-in-fastcgi-isapi-1-5</guid><category>FastCGI</category><category>PHP</category></item><item><title>Inconsistencies in wincache statistics page explained</title><link>https://blogs.iis.net:443/ksingla/inconsistencies-in-wincache-statistics-page-explained</link><description>&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Many customers running &lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2"&gt;&lt;A onclick="javascript:pageTracker._trackPageview('/outbound/article/www.iis.net');" href="http://www.iis.net/expand/wincacheforphp"&gt;&lt;FONT color=#0071bb&gt;WinCache&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt; reported seeing different cache statistics on consecutive requests to wincache.php. Specifically, cache uptime and opcode cache summary returned second time by wincache.php was completely different than the data returned first time. Occasionally data shown in the opcode cache summary table didn’t match the chart displayed on its side. Many customers correctly guessed that this happens because there are multiple cache instances present in different php-cgi processes but thought that none of the PHP processes are sharing cache data and were worried about excessive memory usage by WinCache. I have been replying to many customers personally and posting on forums explaining why they see this behavior but as more and more customers are using WinCache, this question is becoming more common. &lt;A title=http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/ href="http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/" mce_href="http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/"&gt;Read more ... &lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/ href="http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/" mce_href="http://www.ksingla.net/2010/01/wincache-statistics-page-inconsistencies-explained/"&gt;View the original post&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Wed, 27 Jan 2010 08:15:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/inconsistencies-in-wincache-statistics-page-explained</guid><category>FastCGI</category><category>PHP</category><category>WinCache</category></item><item><title>Urlscan to RequestFiltering migration using MSDeploy</title><link>https://blogs.iis.net:443/ksingla/urlscan-to-requestfiltering-migration-using-msdeploy</link><description>&lt;FONT size=3 face=Calibri&gt;In addition to &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx" mce_href="http://blogs.iis.net/ksingla/archive/2009/09/24/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;FastCGI migration provider&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, MSDeploy 1.0 RTW shipped with a URLScan to request filtering migration provider to ease migration of UrlScan.ini settings to &lt;I&gt;system.webServer/security/requestFiltering&lt;/I&gt; section. Even though URLScan 3.1 is supported on Win2K8 and you are not required to move to request filtering module, there are few advantages in using request filtering module. One advantage is that all your configuration can stay together in applicationHost.config and web.config and you are not required to maintain a separate configuration file. Another advantage is that you can take advantages of new configuration system features like distributed configuration, shared configuration, locking, ability to use appcmd, UI, configuration editor etc which cannot be used if you use UrlScan and your configuration is in UrlScan.ini. &lt;A title=http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/ href="http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/" mce_href="http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/ href="http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/" mce_href="http://www.ksingla.net/2009/10/urlscan_to_requestfiltering_migration_using_msdeploy/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;</description><pubDate>Fri, 30 Oct 2009 21:57:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/urlscan-to-requestfiltering-migration-using-msdeploy</guid><category>MSDeploy</category><category>Request Filtering</category><category>UrlScan</category></item><item><title>Feature additions and bug fixes coming up in WinCache</title><link>https://blogs.iis.net:443/ksingla/feature-additions-and-bug-fixes-coming-up-in-wincache</link><description>&lt;FONT size=3 face=Calibri&gt;We are seeing huge momentum behind adoption of &lt;/FONT&gt;&lt;A href="http://www.iis.net/extensions/wincacheforphp" mce_href="http://www.iis.net/extensions/wincacheforphp"&gt;&lt;FONT size=3 face=Calibri&gt;WinCache&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. In the month of September, WinCache v1 Beta was downloaded more than 13,000 times making it one of the most downloaded IIS extensions in the first month following its release. Many happy customers chose to run it on their production servers despite its beta tag. We got very encouraging feedback from the beta release and we are pushing hard for our next release. Our next release date is approaching fast and I wanted to give an update on new features and bug fixes. If your favorite feature was missing in the beta and is also not in the list below, please email me or post on the &lt;/FONT&gt;&lt;A href="http://forums.iis.net/1164.aspx" mce_href="http://forums.iis.net/1164.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;forums&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; so that we can consider it for future releases of WinCache. &lt;A title=http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/ href="http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/" mce_href="http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/"&gt;Read more ...&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/ href="http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/" mce_href="http://www.ksingla.net/2009/10/feature_additions_and_bug_fixes_coming_up_in_wincache/"&gt;View the original post&lt;/A&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Mon, 05 Oct 2009 21:35:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/feature-additions-and-bug-fixes-coming-up-in-wincache</guid><category>FastCGI</category><category>PHP</category><category>WinCache</category></item><item><title>Migrating FastCGI configuration from IIS 5.1/6.0 to IIS 7.0/7.5</title><link>https://blogs.iis.net:443/ksingla/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5</link><description>&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Problem&lt;BR&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT size=3 face=Calibri&gt;As you know FastCGI functionality on IIS 5.1 and IIS 6.0 is provided by &lt;/FONT&gt;&lt;A href="http://www.iis.net/extensions/FastCGI" mce_href="http://www.iis.net/extensions/FastCGI"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;FastCGI ISAPI&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; extension which is available as an independent download. On IIS 7.0 and beyond, FastCGI functionality is provided by IIS &lt;/FONT&gt;&lt;A href="http://www.iis.net/ConfigReference/system.webServer/fastCgi" mce_href="http://www.iis.net/ConfigReference/system.webServer/fastCgi"&gt;&lt;FONT size=3 face=Calibri&gt;FastCGI module&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; which comes with the operating system. These components use different configuration stores to store the settings that affect their behavior. FastCGI ISAPI uses an INI file named fcgiext.ini as its configuration store whereas FastCGI module keeps configuration in applicationHost.config in xml format with rest of IIS configuration. Before, migrating from IIS6 to IIS7 involved migrating fcgiext.ini configuration to FastCGI module manually as there was no automated way to do that. MSDeploy only had functionality to migrate metabase configuration but because FastCGI ISAPI configuration is kept separately in an INI file, that wasn’t possible. &lt;A title=http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/ href="http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/" mce_href="http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A title=http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/ href="http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/" mce_href="http://www.ksingla.net/2009/09/migrating_fastcgi_configuration_from_iis51_60_to_iis70_75/"&gt;&lt;EM&gt;View the original post&lt;/EM&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Fri, 25 Sep 2009 01:18:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/migraing-fastcgi-configuration-from-iis-5-1-6-0-to-iis-7-0-7-5</guid><category>FastCGI</category><category>MSDeploy</category><category>PHP</category></item><item><title>How WinCache make PHP run faster</title><link>https://blogs.iis.net:443/ksingla/how-wincache-make-php-run-faster</link><description>&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Why WinCache?&lt;BR&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT size=3 face=Calibri&gt;Use of &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/PHP_accelerator" mce_href="http://en.wikipedia.org/wiki/PHP_accelerator"&gt;&lt;FONT size=3 face=Calibri&gt;PHP accelerators&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; is very common to make PHP run faster. Most of the existing &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/PHP_accelerator" mce_href="http://en.wikipedia.org/wiki/PHP_accelerator"&gt;&lt;FONT size=3 face=Calibri&gt;PHP accelerators&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; which are in use today are designed keeping *nix architecture in mind and mostly doesn’t&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;work well on Windows. For example, APC which is very&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;commonly used on *nix doesn’t work on Windows. Xcache does work in ISAPI mode but crashes when PHP is running in FastCGI mode with multiple php processes alive. Absence of a stable PHP accelerator on Windows made people complain about PHP performance on Windows all the time. Another complaint which we heard consistently from customers running PHP on windows was that file operations on Windows were slower than on *nix. Reason being Windows’s CreateFile system call which is much more expensive than a fopen call on *nix as CreateFile goes through a much more complex security check involving ACLs. &lt;A title=http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/ href="http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/" mce_href="http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/ href="http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/" mce_href="http://www.ksingla.net/2009/09/how_wincache_make_php_run_faster/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Sun, 20 Sep 2009 02:03:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/how-wincache-make-php-run-faster</guid><category>PHP</category><category>WinCache</category></item><item><title>Getting both FastCGI module and AppPool CPULimit to work</title><link>https://blogs.iis.net:443/ksingla/getting-both-fastcgi-module-and-apppool-cpulimit-to-work</link><description>&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;FastCGI module available in IIS 7.0 did not work when CPULimit for the application pool was enabled. This was because when CPULimit feature was enabled WAS uses job objects to track CPU usage of worker processes. WAS keeps a job object for each application pool and all worker processes which belong to that application pool are made part of that job object. FastCGI module uses job objects to make sure that there are no orphan child processes left when worker process goes away. Note that FastCGI requires a per process job object while WAS requires a per application pool job object. For this reason, it was not possible to make WAS take care of killing FastCGI child processes when worker process dies. Because a process can only be part of one job object on windows and also the fact that a child process becomes part of the job object if parent process is already part of existing job object, FastCGI module was unable to make child processes part of another job object when CPULimit was turned on and used to fail with error &lt;I&gt;“Unable to place a FastCGI process in a JobObject. Try disabling the Application Pool CPU Limit feature”&lt;/I&gt;. &lt;A title=http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/ href="http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/" mce_href="http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/"&gt;Read more ...&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/o:p&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/ href="http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/" mce_href="http://www.ksingla.net/2009/07/getting_both_fastcgi_module_and_apppool_cpulimit_to_work/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description><pubDate>Thu, 02 Jul 2009 23:29:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/getting-both-fastcgi-module-and-apppool-cpulimit-to-work</guid><category>FastCGI</category><category>IIS News Item</category><category>PHP</category></item><item><title>FastCGI ISAPI 1.5 Beta for WinXP and Win2K3</title><link>https://blogs.iis.net:443/ksingla/fastcgi-isapi-1-5-beta-for-winxp-and-win2k3</link><description>&lt;FONT size=3 face=Calibri&gt;IIS team today released FastCGI ISAPI 1.5 Beta for WinXP and Win2K3 which has some very nice additions to existing FastCGI ISAPI functionality. Following additions have been made to &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/wadeh/archive/2007/03/02/first-post-fastcgi-settings-for-iis-5-1-6.aspx" mce_href="http://blogs.iis.net/wadeh/archive/2007/03/02/first-post-fastcgi-settings-for-iis-5-1-6.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;FastCGI ISAPI 1.0&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1.&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Few features we added to FastCGI module in IIS 7.5 have been added to FastCGI ISAPI 1.5 as well. These include MonitorChangesTo, StderrMode and Real-time tuning. Read more about these &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/ksingla/archive/2009/01/22/improvements-to-fastcgi-in-iis-7-5.aspx" mce_href="http://blogs.iis.net/ksingla/archive/2009/01/22/improvements-to-fastcgi-in-iis-7-5.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;.&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;BR&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Few customers complained about IIS terminating the FastCGI processes abruptly (on running into IdleTimeout, InstanceMax etc) without giving them a chance to run cleanup code in the FastCGI application.&amp;nbsp; &lt;A title=http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/ href="http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/" mce_href="http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/ href="http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/" mce_href="http://www.ksingla.net/2009/04/fastcgi_isapi_15_beta_for_winxp_and_win2k3/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Tue, 21 Apr 2009 05:39:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/fastcgi-isapi-1-5-beta-for-winxp-and-win2k3</guid><category>FastCGI</category><category>PHP</category></item><item><title>Using advanced logging to log custom module data</title><link>https://blogs.iis.net:443/ksingla/using-advanced-logging-to-log-custom-module-data</link><description>&lt;P style="MARGIN: 0in 0in 12pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Advanced logging module which media team &lt;/FONT&gt;&lt;A href="http://www.iis.net/extensions/AdvancedLogging" mce_href="http://www.iis.net/extensions/AdvancedLogging"&gt;&lt;FONT size=3 face=Calibri&gt;released&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; few days ago uses IIS tracing subsystem and allow module developers to log custom data in W3C compatible format using familiar IHttpTraceContext interface. If you are a module developer and want to generate W3C style logs for requests with custom data, doing it with advanced logging module is very easy. All you need to do is call IHttpTraceContext::RaiseTraceEvent passing data you want to publish. Your module installer can then configure advanced logging module to make it dump this data in a log file and you have complete logging solution without ever have to deal with log files yourself. Let’s see what it takes to make use of this functionality. &lt;A title=http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/ href="http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/" mce_href="http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/"&gt;Read more ...&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;A title=http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/ href="http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/" mce_href="http://www.ksingla.net/2009/04/using_advanced_logging_to_log_custom_module_data/"&gt;View the original post&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description><pubDate>Sun, 19 Apr 2009 03:34:00 GMT</pubDate><guid isPermaLink="true">https://blogs.iis.net:443/ksingla/using-advanced-logging-to-log-custom-module-data</guid><category>Advanced Logging</category></item></channel></rss>