Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: [u]nsigned en 14 Octubre 2011, 14:15 pm



Título: Optimizar LAMP
Publicado por: [u]nsigned en 14 Octubre 2011, 14:15 pm
Se me ocurrio una forma de optimizar un servidor web. Digamos que tenemos un servidor LAMP, el mismo usa un solo archivo php para responder a ciertas peticiones, generalemente la mayoria de los cms, frameworks o ‘sistemas’ hacen esto. Cuando necesitamos leer un archivo el SO lo mapea en memoria, por ‘paginas’ o todo completo...la verdad que de aca en adelante desconozco como es la cosa internamente pero calculo que es mas o menos asi:

1 - El sistem ubica dicho archivo físicamente y lógicamente
2- Abre, Lee y Carga el archivo en memoria
3- Mantiene una referencia (handler) al lugar en memoria por si es solicitado nuevamente
4 – Agregar una refencia al fichero en disco (tabla de inodos).

Esto es pura suposición mya, pero calculo que si después de cierto tiempo el archivo no es llamado, se borra de la memoria. En este punto me di cuenta que quizas el archivo solo seria borrado si se necesita memoria para otra cosa. Bien, se que en servidores LAMP se pueden configurar sistemas de archivos para no usar la tabla de inodos y acelerar el proceso de I/O desde el disco.

Mi duda es si es posible, de alguna forma, en GNU / LINUX indicar que un archivo se cargue al inicio y permanezca permanentemente cargado en memoria?

Una solucion que se me ocurrio es dejar corriendo el script como servicio, pero seria mucho mas simple, seguro y eficiente dejar el archivo ‘siempre disponible en memoria’...es posible configurar esto?

Saludos


Título: Re: Optimizar LAMP
Publicado por: Epzylon en 17 Octubre 2011, 19:47 pm
Te tiro una punta, que podria implementarsé, dependiendo de las necesidades.

RamDisk

mkdir /var/www/ram
 mount -t tmpfs -o size=1G tmpfs /var/www/ram

Los ram disk, son "discos" en memoria ram. Por lo que deberías ver como implementarlo en producción, pero es un comienzo para no usar disco.

comentame que te parece y si te gusta deliramos un poco mas el asunto


Título: Re: Optimizar LAMP
Publicado por: el-brujo en 19 Octubre 2011, 17:40 pm
Puedes usar un cacheador de scripts php, como APC

El foro de elhacker.net lo usa y funciona muy bien.

Primero estábamos usando PHP 4 y al cambiar a PHP 5 (hace tiempo ya) las cargas del servidor bajaron notablemente.

En ambas versiones de PHP usamos un acelerador de PHP, primero eAccelerator y después (APC) (Alternative PHP Cache)


Título: Re: Optimizar LAMP
Publicado por: [u]nsigned en 19 Octubre 2011, 18:08 pm
Muchas gracias a ambos por sus respuestas, creo que APC es justo lo que necesito, y es bueno saber que tengo a mano a alguien con experiencia para cualquier duda que me surja xD

Saludos


Título: Re: Optimizar LAMP
Publicado por: Foxy Rider en 20 Octubre 2011, 02:50 am
Lo que más o menos describís (y te referís) es la page cache (https://en.wikipedia.org/wiki/Page_cache) ( https://duckduckgo.com/?q=linux%20page%20cache )
Leelo como una curiosidad nomás, por que lo que necesitás es justo lo que menciona el-brujo.
eso nomás.

Saludos.

P.S: Me huele a que este tema me parece que no vá acá, pero bueno ..


Título: Re: Optimizar LAMP
Publicado por: [u]nsigned en 20 Octubre 2011, 13:43 pm
Muchas gracias Vertex, voy a veer eso  ;D

Saludos

PD: Dudaba si poner el hilo aca o en desarrollo web, pero como se trata de configurciones a nivel sistema operativo en gnu/linux...