Optimizar LAMP

Iniciado por [u]nsigned, 14 Octubre 2011, 14:15 PM

0 Miembros y 1 Visitante están viendo este tema.

[u]nsigned

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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Epzylon

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

el-brujo

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)

[u]nsigned

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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Foxy Rider

Lo que más o menos describís (y te referís) es la 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 ..

[u]nsigned

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...

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!