Autor
|
Tema: Optimizar LAMP (Leído 3,916 veces)
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
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
|
|
« Última modificación: 14 Octubre 2011, 23:31 pm por El As del Club Paris »
|
En línea
|
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
|
|
|
En línea
|
|
|
|
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)
|
|
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
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
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
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 ..
|
|
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
Muchas gracias Vertex, voy a veer eso 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...
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
|
|