¿Por qué un sitio web puede consumir demasiado?

Estándar
¿Te ha gustado? ComparteTweet about this on Twitter
Twitter
Share on Facebook
Facebook
0Share on LinkedIn
Linkedin
Share on Google+
Google+
0

Demasiado significa que el sitio web consume más recursos (CPU, RAM, Disco) que el 95% restante de los sitios web que están en un servidor. Es decir, que se encuentra dentro del 5% de los sitios que más consumen.

Y a veces, la cantidad de visitas no llegan a ser cientos ni miles por día.

Pero esto puede ocurrir, cuando se utilizan plataformas que no están preparadas de fábrica para recibir grandes cantidades de visitantes, por ejemplo los WordPress, Joomla, Magento y Moodle.

programación web

En este sentido, para comprender el motivo de una caída o lentitud de tu sitio web, es fundamental primero tener en cuenta que un sitio web no depende sólo del web hosting, sino que también está constituido por varios componentes fundamentales:

  • Web Hosting: Son los servidores responsables que el sitio web -que son un conjunto de archivos- funcionen correctamente, según la capacidad del servidor. El Web Hosting también es encargado del funcionamiento del servidor de correos electrónicos, de las bases de datos, entre otros servicios web 🙂
  • Programación del sitio web: Es el conjunto de códigos y archivos que dan como resultado a todo lo que se “visualiza” de un sitio web y todo aquello que es permite interacción.
    Por dar un ejemplo, existen distintas formas de programar un sitio web para que muestre la página principal, no es lo mismo mostrar una vez una foto y luego que la misma quede almacenada en caché (sistema de memoria temporal), a que sea mostrada cada vez al visitante (por lo tanto cada vez vuelve a pedirle al servidor la información generando más utilización de la memoria y capacidad del servidor), tampoco es lo mismo tener una base de datos sin índices que con índices, dado que esto modifica sustancialmente el consumo de los recursos (RAM, CPU, etc) del servidor de web hosting.
  • Cantidad de visitantes: Usualmente se dice que un sitio web tiene “5.000 visitas diarias” pero no es lo mismo recibir 5.000 visitas distribuídas equitativamente en 24 horas, que recibir 4.000 visitas en 30 minutos y el resto a lo largo del resto del día.
    Asimismo, tampoco es lo mismo recibir 5.000 visitas en un sitio web programado de forma optimizada que no optimizada. Tampoco es lo mismo recibir una visita que ingresa y se retira de la web, que otra que navega por todos los contenidos de la misma. El consumo que realice cada visita, que interactuará con la programación del sitio web y con el servidor de web hosting, generará un consumo específico. Para darte una idea, en NEOLO.COM tenemos muchísimos clientes que prefieren pagar VPS 5 teniendo en su web “sólo” 1.000 visitas diarias en vez de optimizar la programación del sitio web, mientras que otros tienen 9.000 visitas diarias y tienen un VPS 2. Otros tienen 3.000 visitas diarias en un hosting compartido pero con una web hiper optimizada por programadores expertos. Es una decisión completamente personal, nosotros acompañamos a cada cliente para que tome la decisión que desee, sin que se perjudiquen los servidores de web hosting.

Con tener un mal uso o abuso de una sola de esas variables o componentes el servicio de web, bases de datos, mails, etc, dejará de funcionar.

Pero la causa más frecuente es una ineficiente programación web. Sistemas como WordPress o Joomla entre otros además de padecer millones de fallas de seguridad (ver fallas wordpress, verfallas joomla), no están preparados de manera predeterminada para recibir miles de visitas diarias. Asimismo por más que las versiones futuras de esos sistemas ya vengan preparadas para recibir miles o decenas de miles de visitas diarias en un hosting compartido, quizás los plugins o themes (diseños) que se instalen al WordPress o Joomla no lo estén.

Cada uno de esos sistemas posee millones de líneas de código, pero una sola podría hacer que todo el sitio funcione lentamente y que incluso consuma todos los recursos del servidor.

Es decir, tener muchas visitas no te obligará a disponer de un mayor servicio de hosting o de VPS, porque una sola visita con una programación web mal realizada, podría saturar un servidor web utilizando todos los recursos del mismo.

¿Como mejoro la programación de mi sitio web?

Hay un refrán que señala “zapatero a sus zapatos”, y significa que cuando hay un problema, lo tiene que resolver un especialista con varios años de experiencia. Sin embargo te brindaremos algunos consejos generales que no aseguran que resuelvan el problema de inestabilidad causado por el tráfico a tu sitio web pero quizás podrá ayudar:

Si utilizas WordPress instala el WP-Cache que es un excelente plugin que transformará las páginas y posts dinámicos (en PHP) de tu blog a HTML. Pero si tienes otra plataforma o bien ya lo has instalado y tu sitio web sigue saturando al servidor de web hosting, es recomendable que contrates a un programador PHP con varios años de experiencia y que sepa optimizar queries al MySQL -es decir, las solicitudes que desde el navegador web de cada usuario se lanzan a través del PHP hacia la base de datos MySQL-

¿Algunos consejos de programación PHP para optimizar el código de mi sitio web?

Desde Maestrosdelweb nos dan algunos consejos muy puntuales:

  • No suprimas errores con @, es muy lento.
  • La función mt_rand es más rápida que rand
  • La función mt_srand es más rápida que srand
  • La función getrandmax es más lenta que mt_getrandmax.
  • Utiliza pocos accesos a la base de datos. Al realizar una consulta selecciona solo los campos que necesites. No utilices “SELECT * FROM tabla” si no lo necesitas, utiliza “SELECT campo, campo FROM tabla”.
  • La programación orientada a pbjetos (POO) es muy útil, y mucho más cuando nuestra aplicación cuenta con gran cantidad de códigos, la POO nos permite obtener un mayor aprovechamiento reutilizando nuestro código.
  • Comprueba el tiempo que demora tu aplicación en cargar.
  • Realiza validaciones de formularios mediante javascript. No valides con PHP después de realizar un POST. El usuario tendría que esperar que se cargue nuevamente la web para que le valide el formulario.

¿En dónde encuentro más información para optimizar el código PHP / MySQL de mi sitio web?

http://www.lostiemposcambian.com/blog/php/5-consejos-de-micro-optimizacion-de-php/
http://www.maestrosdelweb.com/editorial/como-optimizar-tus-aplicaciones-php/
http://www.mdproductions.ca/guides/50-best-practices-to-optimize-php-code-performance
http://phplens.com/lens/php-book/optimizing-debugging-php.php
http://hungred.com/useful-information/php-micro-optimization-tips/

¿Como contrato un servidor de mayor capacidad?

Podrás siempre hacerlo contactando al área de soporte de NEOLO.COM. Igualmente, para nosotros no todo es vender, vender y vender :) por eso te volvemos a recomendar enérgicamente que también busques un programador PHP para optimizar el código de tu sitio web :)

¿La cantidad de visitas es responsable?

Como te comentábamos anteriormente, sólo hasta cierto punto. Una mala programación puede hacer que tu sitio web pueda procesar muy poca cantidad de visitas, mientras que una programación optimizada por un profesional puede soportar cientos de veces más visitas que una no optimizada.

trafico

¿En dónde puedo encontrar más tips para optimizar la programación de mi sitio web? ¿O un programador PHP que pueda optimizar mi sitio web?

En NEOLO.COM creamos NEOLO.COM/PRO. Es un sitio donde podrás encontrar profesionales independientes que realizan trabajos de manera freelance. Sino podés buscar también consultando a amigos o preguntando en otras webs como Workana o  TrabajoFreelance.

En resumen: ¿Si un sitio web funciona lento o consume muchos recursos, qué hacer?

Opción A: Optimizas la programación del sitio web buscando un programador en NEOLO.COM/PRO o en otro sitio.

Opción B: Realizas upgrade a un VPS de mayor capacidad o a un servidor dedicado.

Opción C: A+B :) :)

 

¿Te ha gustado? ComparteTweet about this on Twitter
Twitter
Share on Facebook
Facebook
0Share on LinkedIn
Linkedin
Share on Google+
Google+
0

Deja un comentario