<?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>Worker archivos - SoyAdmin.com</title>
	<atom:link href="https://soyadmin.com/tag/worker/feed/" rel="self" type="application/rss+xml" />
	<link>https://soyadmin.com/tag/worker/</link>
	<description>La Recova del Informático - Linux en Español - Sysadmin, Noticias Linux y más</description>
	<lastBuildDate>Mon, 12 Apr 2021 22:09:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://soyadmin.com/wp-content/uploads/2021/03/cropped-favicon-32x32.png</url>
	<title>Worker archivos - SoyAdmin.com</title>
	<link>https://soyadmin.com/tag/worker/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">147662452</site>	<item>
		<title>Diferencias entre los módulos de procesamiento de Apache: Prefork, Worker y Event</title>
		<link>https://soyadmin.com/diferencias-entre-apache-mpm-prefork-worker-y-event/</link>
					<comments>https://soyadmin.com/diferencias-entre-apache-mpm-prefork-worker-y-event/#comments</comments>
		
		<dc:creator><![CDATA[Mauro]]></dc:creator>
		<pubDate>Wed, 29 Aug 2018 11:37:27 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[apache MPM]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Prefork]]></category>
		<category><![CDATA[Worker]]></category>
		<guid isPermaLink="false">https://old.soyadmin.com/?p=621</guid>

					<description><![CDATA[<p>Apache MPM (Multi Procesing Module) maneja y procesa las solicitudes entrantes, Prefork, Worker y Event son los distintos módulos de procesamiento que podemos elegir a la hora de compilar nuestro Apache, es decir que&#46;&#46;&#46;</p>
<p>La entrada <a href="https://soyadmin.com/diferencias-entre-apache-mpm-prefork-worker-y-event/">Diferencias entre los módulos de procesamiento de Apache: Prefork, Worker y Event</a> se publicó primero en <a href="https://soyadmin.com">SoyAdmin.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Apache MPM (Multi Procesing Module)</strong> maneja y procesa las solicitudes entrantes,<strong> Prefork, Worker y Event</strong><em> son los distintos módulos de procesamiento</em> que podemos elegir a la hora de compilar nuestro Apache, es decir que son los diferentes tipos de procesamiento.<br>En este artículo detallaré las características de cada uno de los posibles MPM (Prefork, Worker y Event), esto con el fin de que podamos adecuar la versión según las necesidades de nuestro servidor.</p>



<p><span style="color: #ff0000; font-size: 14pt;"><strong>1) MPM Prefork</strong></span><br>Es el módulo por default que trae Apache al momento de la instalación, tiene la particularidad de que crea diferentes procesos independientes o hijos para procesar las peticiones que ingresan a nuestro servidor. Se denomina forking, por eso su nombre.<br>Un solo proceso de control crea múltiples subprocesos hijo, como si fuera en rama o tenedor. Se encarga de que siempre haya varios procesos abiertos libres que puedan usarse al recibir varias peticiones.</p>



<div class="wp-block-image is-style-default"><figure class="aligncenter"><img fetchpriority="high" decoding="async" width="638" height="479" src="https://soyadmin.com/wp-content/uploads/2018/08/prefork.jpg" alt="" class="wp-image-623" srcset="https://soyadmin.com/wp-content/uploads/2018/08/prefork.jpg 638w, https://soyadmin.com/wp-content/uploads/2018/08/prefork-300x225.jpg 300w" sizes="(max-width: 638px) 100vw, 638px" /></figure></div>



<p><strong>Esta es la configuración default de MPM Prefork</strong></p>



<pre class="wp-block-prismatic-blocks"><code class="language-shell-session">StartServers 10
MinSpareServers 5
MaxSpareServers 25
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4200</code></pre>



<p><em>Dónde:</em><br><em>StartServers: Es el número de procesos hijo que se iniciarán.</em><br><em>MinSpareServers: Es el número mínimo de procesos que el servidor siempre tendrá disponibles o libres.</em><br><em>MaxSpareServers: Es el número máximo de procesos que el servidor siempre tendrá disponibles o libres.</em><br><em>MaxClients: Es el número máximo de procesos que atenderá el servidor.</em><br><em>MaxRequestsPerChild: Es el número máximo de procesos hijo que puede tener cada uno de los StartServers.</em></p>



<p>Es el módulo más compatible y estable, aunque tiene como contra que consume un alto valor de RAM y CPU ya que al tener tantos procesos hijo y en «reserva» conlleva un gasto necesarios de recursos.</p>



<p><span style="font-size: 14pt;"><strong><span style="color: #ff0000;">2) MPM Worker</span></strong></span><br>Utiliza subprocesos hijo al igual que el MPM Prefork y a su vez estos procesos hijo crean hilos de ejecución, también llamados threads que se encargan de procesar peticiones, organizándose y delegando peticiones a otros procesos que ya están ejecutándose. Esto le permite servir un gran número de peticiones a cada proceso hijo.<br>Un solo proceso de control crea múltiples procesos hijo, a su vez cada proceso hijo crea threads o hilos de procesamiento controlados por la directiva ThreadsPerChild. Cada vez que ingresa una petición es asignada a un thread que la procesa y ejecuta.</p>



<p>En lugar de crear múltiples procesos hijo como lo hace prefork, worker crea y deja en espera múltiples hilos bajo cada hijo, de esa manera se asegura tener la capacidad de atender múltiples peticiones.</p>



<div class="wp-block-image is-style-default"><figure class="aligncenter"><img decoding="async" width="638" height="479" src="https://soyadmin.com/wp-content/uploads/2018/08/worker.jpg" alt="" class="wp-image-625" srcset="https://soyadmin.com/wp-content/uploads/2018/08/worker.jpg 638w, https://soyadmin.com/wp-content/uploads/2018/08/worker-300x225.jpg 300w" sizes="(max-width: 638px) 100vw, 638px" /></figure></div>



<p><strong>Esta es la configuración default de MPM Worker:</strong></p>



<pre class="wp-block-prismatic-blocks"><code class="language-shell-session">StartServers 5
MaxClients 350
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0</code></pre>



<p><em>Donde:</em><br><em>StartServers: Es el número de procesos hijo que se iniciarán.</em><br><em>MaxClients: Es el número máximo de procesos que atenderá el servidor.</em><br><em>MinSpareThreads: Es el número mínimo de subprocesos que el servidor siempre tendrá disponibles o libres.</em><br><em>MaxSpareThreads: Es el número máximo de subprocesos que el servidor siempre tendrá disponibles o libres.</em><br><em>ThreadsPerChild: Es el número de threads por hijo que se ejecutan simultaneamente.</em><br><em>MaxRequestsPerChild: Es el número máximo de procesos hijo que puede tener cada uno de los StartServers.</em></p>



<p>Mejora considerablemente el uso de CPU y RAM, dado que es menor la cantidad de procesos hijo que se emplean, dando de esta manera una mejor performance al procesamiento de peticiones. El problema que tiene es que si un subproceso hijo queda inutilizado por algún problema se cancelan multiples hilos de procesamiento, haciendo que worker sea un poco inestable o con ineficiencia a la hora de resolver un problema.</p>



<p><span style="font-size: 14pt;"><strong><span style="color: #ff0000;">3) MPM Event</span></strong></span><br>Es una mejora de mpm worker, optimizado para trabajar con un número de peticiones elevadas. Lo que hace es servir más peticiones simultáneas con la ayuda de Keep Alive y permite que un usuario mantenga el hilo en ejecución para así enviar múltiples peticiones sin necesidad de abrir nuevas conexiones tcp.<br>En sí el funcionamiento es igual al de MPM Worker con esta mejora, pero los pro y los contras siguen siento también igual.</p>



<p><strong>Esta es la configuración default de MPM Event:</strong></p>



<pre class="wp-block-prismatic-blocks"><code class="language-shell-session">MinSpareThreads 75
MaxSpareThreads 150
ThreadsPerChild 75
MaxRequestsPerChild 21000</code></pre>



<p><span style="color: #ff0000; font-size: 14pt;"><strong>Conclusión ¿Como elegimos nuestro MPM?</strong></span><br><strong>Recursos:</strong> Si tenemos recursos de sobra en el servidor, prefork es nuestra elección que nos serviría perfectamente. Ahora si los recursos del servidor son escasos deberíamos tirarnos por Worker o Event que hacen un mejor aprovechamiento de la RAM y CPU.<br><strong>Contenido alojado en el servidor:</strong> Si tenemos contenido estático mayormente, lo mejor sería utilizar Worker o Event. Por otro lado si tenemos contenido dinámico deberemos evaluar otros factores a la hora de elegir el MPM aunque siempre se tenga a Prefork como preferido en este sentido.<br><strong>Tráfico o visitas:</strong> Si el servidor tendrá un alto tráfico o numerosas visitas, no deberíamos usar Prefork debido a los recursos que consume.</p>
<p>La entrada <a href="https://soyadmin.com/diferencias-entre-apache-mpm-prefork-worker-y-event/">Diferencias entre los módulos de procesamiento de Apache: Prefork, Worker y Event</a> se publicó primero en <a href="https://soyadmin.com">SoyAdmin.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://soyadmin.com/diferencias-entre-apache-mpm-prefork-worker-y-event/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">621</post-id>	</item>
	</channel>
</rss>
