Compartir carpetas entre Windows 2000 server y clientes Windows 7
23 de diciembre de 2016Pasos básicos para instalación del framework Symfony
6 de enero de 2017Siempre viene bien tener claro ciertos conceptos en entornos de programación, para ello hoy vamos a aclarar las diferencias entre librerías Thread Safe y Non thread safe para entornos Windows.
Thread Safe (TS) es una caracteristica que permite optimizar PHP para un entorno Multihilo (Windows) y no Multiproceso (Linux) , siendo así mas efectivo en Apache para windows ya que permite, dicho de una forma totalmente ambigua, cargar todo el ambiente de PHP y mantenerlo en la memoria para todos los hilos que lo necesiten.
Esto sin embargo generaba problemas varios en ISS al ejecutar PHP como ISAPI ya que muchas extensiones estaban hechas pensado en el modelo Multiproceso (linux) y obligaba a utilizar PHP como CGI, esto lo hacia mas estable pero exageradamente mas lento debido a que tiene que cargar y descargar de la memoria el ambiente completo de PHP en cada requerimiento o proceso.
Lo que Non-Thread Safe (NTS) permite es configurar ISS y otros servidores basados en el modelo de windows (Multihilo) para que usen PHP como CGI pero mejorando increiblemente su rendimiento (del orden de un 40% o más) ya que PHP no tiene que esperar la sincronización del proceso.
Ultimamente se puede configurar PHP NTS como FastCGI (Gracias a Microsoft y sus aportes) lo que permite una mejora aun mayor el rendimiento.
En conclusión:
TS -> Apache + Windows
NTS -> IIS + Windows