LinuxParty
Todo el mundo sabe lo difícil que es llevar a cabo la carga de su servidor web. En mi trabajo diario como ingeniero de hosting ignifica que muy a menudo hago la misma pregunta, "Wow, sitio web es muy interesante, pero ¿se puede hacer frente a un mayor tráfico con el tiempo?".
La situación "normal"
Un sitio web "normal" corre sobre Apache con mod_php capaz de soportar 20 solicitudes por segundo con facilidad, pero si te pones en 50 solicitudes por segundo (no es extraño con algunos sitios web como sitios web de los partidos políticos, etc)? La respuesta, en mi opinión es dejar de usar Apache, ya que como está ahora Apache no podrá soportar más.
¡SÍ! Nginx!
¿Qué demonios está Microcaching?
¿Qué es el microcaching? Bueno, la teoría es que los archivos de caché, durante un corto periodo de tiempo (como por ejemplo, 1 segundo) significa es que cuando un usuario pide la página se almacena en caché para que la próxima solicitud de cualquier otro, que vendrá de la caché, y con 100 usuarios que solicitado dentro de los siguientes 5 segundos, sólo 1 de cada 20 usuarios tendrán crearán la página completa (y con Nginx y un sitio bien estructurado no tiene ningún problema).
Yo no me lo creo!
Ya lo creo! Déjeme ponerle un ejemplo, tome este sitio web se encuentra en estos momentos. Digamos que tenemos un loadtest de 1000 solicitudes con 200 usuarios concurrentes. Si ejecuta este sitio web bajo Apache obtendría entre 10-40 peticiones por segundo, máximo! Y su servidor web se vendría abajo en alguna carga grave y se verían obligados a ampliar su tiempo de latencia. Bajo Nginx con PHP-FPM sin microcaching es lo mismo (tal vez unas pocas más peticiones pero su servidor tendría muchos procesos en ejecución php-fpm para procesar las solicitudes). Con microcaching obtiene la friolera de 300 a 450 solicitudes de un segundo!
Ok, me lo das!
Microcaching es realmente fácil de configurar, a continuación es un ejemplo de configuración que se puede ejecutar en cualquier sitio web hecho con PHP (en este caso es específico para Wordpress). Eche un vistazo:
# # your website # server { listen 80; server_name <your hostnames>; access_log <your access log> main; error_log <your error log>; root <your root folder>; location / { index index.php index.html index.htm; } if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } location ~ \.php$ { # Setup var defaults set $no_cache ""; # If non GET/HEAD, don't cache & mark user as uncacheable for 1 second via cookie if ($request_method !~ ^(GET|HEAD)$) { set $no_cache "1"; } # Drop no cache cookie if need be # (for some reason, add_header fails if included in prior if-block) if ($no_cache = "1") { add_header Set-Cookie "_mcnc=1; Max-Age=2; Path=/"; add_header X-Microcachable "0"; } # Bypass cache if no-cache cookie is set if ($http_cookie ~* "_mcnc") { set $no_cache "1"; } # Bypass cache if flag is set fastcgi_no_cache $no_cache; fastcgi_cache_bypass $no_cache; fastcgi_cache microcache; fastcgi_cache_key $server_name|$request_uri; fastcgi_cache_valid 404 30m; fastcgi_cache_valid 200 10s; fastcgi_max_temp_file_size 1M; fastcgi_cache_use_stale updating; fastcgi_pass localhost:9000; fastcgi_pass_header Set-Cookie; fastcgi_pass_header Cookie; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; #fastcgi_intercept_errors on; include fastcgi_params; } }
También se debe poner en el formato de caché y su zona caché en nginx.conf, añadir estas líneas a su bloque http {}:
fastcgi_cache_path /var/cache/nginx2 levels=1:2 keys_zone=microcache:5m max_size=1000m; log_format cache '$remote_addr - $remote_user [$time_local] "$request" ' '$status $upstream_cache_status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
Pruébelo!
Animo todos a probarlo por sí mismos y verá la mejora en el rendimiento! Sé que es un gran cambio pasar de Apache a Nginx (config-wise) pero usted conseguirá un acceso muy rápido!

-
Medicina.
- ¿Por qué una bacteria puede soportar una radiación que mataría a un ser humano?
- El papel revolucionario de la IA en la atención sanitaria
- Las muertes por cáncer están disminuyendo, pero puede haber un asterisco
- Descubre las Mejores Fuentes de Hierro para Tu Salud, y no son las Lentejas ni la Carne
- Milagroso tratamiento con células CAR-T: Paciente ve desaparecer sus tumores cancerígenos en un mes
- Investigadores han encontrado una manera de regenerar dientes
- Revertir el proceso de las canas podría ser posible. El peinar cabellos de plata, se va a acabar.
- El Coeficiente Intelectual de los estadounidenses ha disminuido rápidamente, lo que demuestra el 'efecto Flynn inverso'
- Un tratamiento para el "anticonceptivo masculino" detuvo el esperma en ratones, según un estudio
- Hace 10.000 años nadie tenía lo ojos azules
- Dispositivo ocular implantado para tratar la degeneración macular asociada a la edad
- El virus de Epstein-Barr puede ser la causa principal de la esclerosis múltiple
- ¿Por qué da hambre tomar ''cannabis''?
- Un estudio demuestra que el consumo de marihuana en los adolescentes se correlaciona con disminución de IQ
- Cannabis: la cantidad