<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fboiton&#039;s blog &#187; wincache</title>
	<atom:link href="http://www.fboiton.com/tag/wincache/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fboiton.com</link>
	<description>Blog Técnico y personal: Ideas, Guias, Tutoriales, Comentarios, Pensamientos, Entre otros.</description>
	<lastBuildDate>Sun, 05 Feb 2012 22:01:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WinCache Extension para PHP en IIS</title>
		<link>http://www.fboiton.com/wincache-extension-para-php-en-iis</link>
		<comments>http://www.fboiton.com/wincache-extension-para-php-en-iis#comments</comments>
		<pubDate>Wed, 07 Jul 2010 19:43:39 +0000</pubDate>
		<dc:creator>fboiton</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[iis extension]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wincache]]></category>

		<guid isPermaLink="false">http://www.fboiton.com/?p=37</guid>
		<description><![CDATA[Ya hay un release final de Windows Cache Extension for PHP es la versión 1.1 la cual incluye, funcionalidades nuevas como: Puede ser utilizada como una API de cache para almacenar objetos y variables de PHP. Tiene la opción de &#8230; <a href="http://www.fboiton.com/wincache-extension-para-php-en-iis">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ya hay un release final de <a href="http://www.iis.net/download/wincacheforphp" target="_blank">Windows Cache Extension for PHP</a> es la versión 1.1 la cual incluye, funcionalidades nuevas como:</p>
<ul>
<li>Puede ser utilizada como una API de cache para almacenar objetos y variables de PHP. </li>
<li>Tiene la opción de configurarse como Session Handler de PHP con persistencia en disco.</li>
</ul>
<p>Entre las características que posee esta extensión estan:</p>
<ul>
<li>Cache del bytecode de PHP en memoria, agilizando el tiempo de respuesta al no tener que parsear completamente los scripts PHP, lo cual reduce tambien el I/O overhead.</li>
<li>Debido a que la persistencia de los elementos en cache es en disco, situaciones como un Reciclado de los application pools no afectan en el cache ya creado.</li>
<li>Soporta las notificaciones de cambio de archivos, permitiendo refrescar los bytecodes en cache.</li>
<li>Cuenta con funciones de PHP para conocer el estado del cache.</li>
</ul>
<p>Creo que es una buena alternativa a utilizar en IIS para mejorar el performance de nuestras aplicaciones en PHP reduciendo el tiempo de interpretación de los scripts.</p>
<p>Para mayores detalles de uso podemos consultar el <a href="http://www.php.net/wincache/" target="_blank">Manual de PHP sobre Windows Cache</a> y para otros recursos sobre la extensión pueden consultar el blog de RuslanY con el <a href="http://ruslany.net/2010/06/wincache-extension-1-1-for-php-release-to-web/" target="_blank">post original</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fboiton.com/wincache-extension-para-php-en-iis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS 7 + WebGarden + Session State + SQL Server</title>
		<link>http://www.fboiton.com/iis-7-webgarden-session-state-sql-server</link>
		<comments>http://www.fboiton.com/iis-7-webgarden-session-state-sql-server#comments</comments>
		<pubDate>Fri, 11 Jun 2010 23:42:09 +0000</pubDate>
		<dc:creator>fboiton</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sessionstate]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[webgarden]]></category>
		<category><![CDATA[wincache]]></category>

		<guid isPermaLink="false">http://www.fboiton.com/?p=31</guid>
		<description><![CDATA[Hoy en el trabajo observamos un comportamiento un poco extraño relacionado con la información que almacenamos en Sesión y que utilizamos en una Web Application corriendo en un pequeño WebGarden teniendo configurado como Session State Server la opción de SQL &#8230; <a href="http://www.fboiton.com/iis-7-webgarden-session-state-sql-server">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hoy en el trabajo observamos un comportamiento un poco extraño relacionado con la información que almacenamos en Sesión y que utilizamos en una Web Application corriendo en un pequeño WebGarden teniendo configurado como Session State Server la opción de SQL Server. </p>
<p>Algunos links sobre Session State y la opción de SQL Server Session Mode</p>
<p><a href="http://www.codeproject.com/KB/aspnet/ExploringSession.aspx#21">Overview en CodePoject</a></p>
<p><a href="http://support.microsoft.com/kb/317604">How-To de Microsoft Support</a></p>
<p><a href="http://msdn.microsoft.com/en-us/magazine/cc163730.aspx">Fast, Scalable, and Secure Session State Management for Your Web Applications</a></p>
<p>En ocasiones, al cambiar de servidor dado a la distribución que realiza un load balancer, la aplicación parecía no poder obtener la información almacenada en sesión y por ende no poder continuar con el proceso que debía desarrollar. Al momento de revisar la base de datos de sesión pudimos percatarnos que habían 2 tuplas para una misma ASP.NetSessionId</p>
<p><a href="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="73" alt="image" src="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_thumb.png" width="384" border="0" /></a> </p>
<p>Query:<code> select * from ASPStateTempSessions where SessionId like '%piltae45debwl355ek3v0545%'</code></p>
<p>Y cómo es esto? Ok, resulta que el SessionId que utilizamos en nuestra aplicación no es lo único que se utiliza como llave en la tabla de SQL ya que está formada por:</p>
<p>Session Id + Application Id</p>
<p>(ver mas info acá: <a href="http://msdn.microsoft.com/en-us/library/aa478952.aspx">Session State Providers</a>)</p>
<p>Resultó entonces que por cada servidor nos estaba generando una tupla en nuestro storage de sesión, la primera con la información que habíamos almacenado y la segunda como una nueva sesión totalmente vacía. Esto debido a que a cada webserver le estaba asignando un diferente Application Id.</p>
<p>Me dirán por ahí que esto no debía suceder… también hay un trasfondo relacionado con la aplicación que casualmente permite esto, sin embargo esto lo dejamos para otro post <img src='http://www.fboiton.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Solución:</p>
<p>Debemos irnos a cada uno de los webservers del WebGarden y en cada uno debemos definir el “ID” del website. Para ello debemos colocarnos en “Sites”</p>
<p><a href="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_3.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="45" alt="image" src="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_thumb_3.png" width="462" border="0" /></a> </p>
<p>Dar click derecho y en “Manage Web Site” seleccionamos la opción “Advanced Settings”</p>
<p><a href="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_4.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="161" alt="image" src="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_thumb_4.png" width="470" border="0" /></a> </p>
<p>y finalmente nos aseguramos que el Website en cada uno de los Web Servers de nuestro WebGarden tenga el mismo ID</p>
<p><a href="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_5.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="86" alt="image" src="http://www.fboiton.com/images/IIS7WebGardenSessionStateSQLServer_EA2C/image_thumb_5.png" width="436" border="0" /></a> </p>
<p>Reiniciamos los IIS para que todo camine en orden y voila! <img src='http://www.fboiton.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fboiton.com/iis-7-webgarden-session-state-sql-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

