La respuesta es simple: tenemos que optimizar nuestros servicios dentro del servidor. Yo siempre pienso y digo que un servidor siempre se puede optimizar de alguna u otra forma, pero a veces llega a un punto que no puedes optimizar, sino sólo aumentar el hardware de la red (la conexión entre internet y las máquinas), ya que si tu web se consume toda la red, no habrá servicio que responda así tengas los mejores servidores.
Voy a exponer uno de los casos que me pasaron a mí y como los solucioné. Estos casos funcionan para aplicar en sistemas operativos Linux, en mi opinión el más completo es la distribución Debian.
Caso 1: Servidor para Aplicaciones en PHP
Algunos tips que se me vienen a la cabeza sobre la optimización que le aplico a los servidores.
- Crea un subdominio para cada uno de estos casos: creo los subdominios img.cristalab.com, js.cristalab.com , css.cristalab.com, esto ayuda a que cuando la página esté cargando, estas descargas sean simultáneas.
Nota: Yo administro mis dns en cdmon.com.
Separar las peticiones de los archivos JS,CSS, IMG.
Ahora toca apuntar esos subdominios a una carpeta en donde se encuentran los archivos, esto se realiza creando los bien llamados virtualhost.
Apache
Código :
//En el archivo para apache por defecto para los subdominios agregamos estas lineas
nano /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerAlias img.codigofuentevisual.com
DocumentRoot /var/www/cristalab/img/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/cristalab/img/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerAlias js.codigofuentevisual.com
DocumentRoot /var/www/cristalab/js/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/cristalab/js/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerAlias css.codigofuentevisual.com
DocumentRoot /var/www/cristalab/css/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/cristalab/css/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Esto es un ejemplo claro, tenemos que saber en qué carpeta vamos a guardar cada uno de los archivos que queremos servir.
Importándolos en nuestro código
Código :
//el css
<link rel="stylesheet" href="http://css.cristalab.com/style.css" type="text/css" />
//el js, siempre los js al final, antes del body
<script type='text/javascript' src='http://js.cristalab.com/jquery.js?ver=1.7.1'></script>
//una imagen, a las imagenes siempre se les debe definir alto y ancho para que el renderizado de la web sea optimo
<img src="http://img.cristalab.com/cristalab.jpg" alt="STOPsopa" width='290' height='160' />
Conclusión:
Con esto logramos que las peticiones sean respondidas y procesadas por el navegador de nuestro cliente de forma optima.Caso 2: Porqué todo esta normal en mi servidor o en mis servidores pero mi página no responde?
[nota:4647328b27]Para ver el rendimiento en un servidor linux, se puede instalar HTOP te puede orientar un poco más sobre qué está haciendo el servidor.[/nota:4647328b27]
Este problema es muy común cuando tus servidores se encuentran en una red con poca conectividad a internet, todas las peticiones que recibe el servidor se encolan y nunca son procesadas ya que el router por donde sale a internet esta colapsado.
Hace algún tiempo empecé con esto de configurar mis propios servidores y dije: voy a configurar mis servidores en mi casa. Compré algunas computadoras con un amigo: una para base de datos y otra para aplicaciones. Se configuraron las dos máquinas y monté una de mis web que tiene algo de tráfico, en esos días tendría unos 20 a 30 usuarios máximos recurrentes y se servían muchas imágenes, para resumir me paso eso la conexión en mi casa es de 512kb/s de bajada y de subida menos que eso no se cuanto. Veía los HTOP de cada servidor y nada, 0.00% load balance los servidores estaban bien luego de mucho probar configuraciones de php, cache, mysql, etc. Decidí probar en un hosting de esos compartidos y tarannn la web funcionaba muy bien y soportaba a los clientes.
No hay comentarios:
Publicar un comentario