Problemas de Consumo de Memoria en Wordpress

Chapi Seguir

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Ago 2011
Mensajes
618
Edito por si no quieren leer toda la explicacion:
Wordpress me consume demasiada RAM del server.
Con apenas 60 personas conectadas tiene 800MB de consumo de ram, esto me va a generar problemas con el hosting, el limite es 1gb.
Cualquier ayuda es agradecida.


Explicacion larga:

Abro el tema para comentar mi experiencia actual y que me comenten la suya, dado que creo que tengo algun problema con mi sitio.

Estoy corriendo mi primer sitio desarrollado completamente con wordpress y tengo problemas con el consumo de recursos.
Hasta hace unos dias el sitio estaba en un shared de hostgator. Ahi con unas 3500 visitas diarias empezaba a tener problemas con la cantidad de procesos simultaneos que te dan (cuando llega a los 25 procesos, si justo entra un proceso nuevo no es atendido y da error 500, si ese proceso correspondia a un usuario visitando una pagina entonces termina viendo el error 500).

Por eso decidi probar otro host y me pase a banahosting (tambien en un shared), aca llegando a las 4300 visitas diarias estoy empezando a tener problemas de memoria, los procesos nunca estan a mas del 50% (por lo general estan en 15% en todo momento, cantidad de procesos y consumo de cpu) de lo que tiene disponible. Lo raro es que en hostgator no tenia problemas de memoria. La pagina esta funcionando perfecto aqui, pero si siguen aumentando las visitas va a dar problemas de consumo de memoria. En cPanel marca que tengo disponible 1GB de memoria fisica, en este momento con solo 30 personas navegando la pagina (segun el realtime de analitycs) tengo consumido 800MB de mem.
Tambien he notado algo raro, el consumo de memoria cambia segun la cantidad de archivos que tengo en la cuenta. Esto ultimo no me cierra mucho, por ejemplo, si borro los archivos generados por el plugin de cache (unos 5000 archivos estaticos), el consumo de memoria baja instantaneamente unos 200MB y va creciendo de a poco a medida que se van creando los archivos de cache nuevamente.

Caracteristicas de la pagina:
Usando Wordpress :)
Theme construido sobre el theme _s Underscores | A Starter Theme for WordPress
Plugins:
  • Plugin propio que lo unico que hace es crear y configurar un custom post type (book)
  • WP Super Cache (configurado con modrewrite, vencimiento de la cache cada 4 horas, tambien 4 horas para el gardbage collector)
  • WP Most Popular (un request ajax por cada page view para guardar los libros mas visitados)
  • bbPress
  • Google XML Sitemaps
  • Social Login
  • Subscribe to Comments Reloaded
  • WP Crontrol (muestra las tareas programadas y el tiempo que falta para ejecutarse desde el panel de control)


Como comente es mi primer sitio completamente con wordpress, no me parece que tenga ni muchos plugins, ni cosas innecesarias o problematicas. Estaba pensando pasarlo a algun VPS o cloud hosting, pero recientemete lei un par de comentarios que con 1gb de ram y el plugin de cache bien configurado wordpress puede aguantar 40000 visitas diarias, de lo cual estoy muy lejos y me llama mucho la atencion.

Tienen alguna recomendacion?
Alguna experiencia para comentar? cuantas visitas diarias manejan con su sito en wordpress? donde lo estan corriendo?
 
Última edición:
Desde
21 Feb 2012
Mensajes
2.118
Los plugins que constantemente escriben en la db las visitas de x posts suelen consumir bastantes recursos, yo borre el que tenia y voila, 20,000 visitas al dia en banahosting y el shared como si nada, si acaso unos picos de 60% de cpu en las horas con cerca de 300 online
 

Chapi

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Ago 2011
Mensajes
618
Voy a probar desactivarlo (WP Most Popular), pero la logica dice que eso deberia consumir procesamiento (con el cual no tengo problemas) y no memoria.

---------- Post agregado el 01-ago-2013 hora: 14:46 ----------

Desactive el plugin que cuenta las visitas de los posts, pero no hizo diferencia en cuanto a uso de memoria.

Estoy viendo por el lado de la cantidad de archivos, porque como comente si borro archivos pasa a consumir menos memoria (no se por que, si sera un bug o que). Tengo un directorio de almacenamiento con unos 20000 archivos y 7000 directorios/subdirectorios.
 

aconrado

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
22 Jul 2013
Mensajes
32
Lo de que a mayor cantidad de archivos mayor cantidad de memoria no es un bug. Es un comportamiento normal de un sistema Linux. Linux tiene su propio caché, y deja en memoria los archivos más utilizados (dado que el proceso que los utiliza esté corriendo).

Así pues, si estás usando el WP Super Caché con modo rewrite (lo cual ocasiona que las páginas estáticas cacheadas se guarden en disco), Linux, al ver que piden muchas veces los mismos archivos (aquellos cacheados por el Super Caché), los guarda en su propio cache de memoria. Como ya dije, esto es normal, y de hecho ayuda a mejorar el rendimiento, ya que una operación de lectura/escritura (cuando lee al disco pues) es costosa en términos de procesamiento.

Si quieres bajar el uso de memoria, puedes intentar bajar la cantidad de horas que almacena el Super Caché las páginas. Esto ocasionará que ciertos archivos ya no sean utilizados, y por lo tanto que Linux no los guarde en su propio caché. Sin embargo, esto le pegará al rendimiento ya que entonces el sistema tendrá que escribir nuevos archivos, o leerlos.

Yo que tú, experimentaría un poco con el parámetro de vencimiento de Super Cache, y ver que tanto le pega al procesamiento bajar el número de horas, y a su vez que tanta memoria se consume de menos. Sin embargo, si dices que en tus periodos picos, todavía tienes de sobra 200 MB, y tu procesamiento está bien, pues yo la verdad no haría más cambios.

Y ya si estás pensando en un crecimiento mayor, pues indiscutiblemente es recomendable un VPS, para poder optimizar muy bien el servidor web, y la base de datos, así como para implementar opciones de caché mas robustas.
 

Chapi

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Ago 2011
Mensajes
618
Gracias por la respuesta, estaba buscando por todos lados y no encontraba mucho.

Lo de reducir el tiempo que duran los archivos en cache eso ya lo habia hecho, cuando estaba en hostgator, como tenia probelmas de cpu habia aumentado el tiempo de los archivos y del garbagecollector a 12 horas. Cuando pase a banahosting y vi ese comportamiento segun la cantidad de archivos reduje el tiempo que duran los archivos en cache a 4hs y lo mismo para el garbagecollector.

Entonces no hay nada raro ni con mis plugins ni con mi theme, es la cantidad de archivos que tengo.
Tengo un directorio con unos 20000 archivos y 7000 subdirectorios (son las imagenes en tamaño grande y thumbnail). En hostgator al principio utilizaba timthumb para crear todas las imagenes en base a una mas grande, pero como esto creaba consumo de procesador directamente para cada libro genere las imagenes en los 2 tamaños que necesito, para asi servirlas estaticamente.

En fin, tengo 2 opciones, traer las imagenes desde otro host o pasarme a un vps con un poco mas de ram.

---------- Post agregado el 01-ago-2013 hora: 19:07 ----------

Hablando con el soporte de banahosting me dicen que los archivos no deberian influir de esa forma en el consumo de ram.

Investigando, otra opcion que encontre es con el tema de la estructura de los permalink.
Yo tengo un custom permalink de esta forma: /%category%/%postname%/

Leyendo un poco dice que esto puede causar problemas de recursos (no estoy seguro si de memoria)
Aca una nota que habla al respecto: So really, don?t use just /%postname%/ as your permalink structure. | Digging into WordPress
Igualmente esa nota es del 2011, no se si todavia aplica despues de 3 años :S
El texto que figura en la nota diciendo: "For performance reasons ..." y dice que esta sacado del codex, ya no figura mas ahi.
Using Permalinks « WordPress Codex
Asi que imagino que eso es un tema ya solucionado.

---------- Post agregado el 02-ago-2013 hora: 13:39 ----------

Cambie la estructura de permalinks y borre todos los archivos de cache para ver si cambiaba algo, pero lo mismo.

Cree un tiket al host mas que nada de consulta y que me digan si tenia que preocuparme.
No me prestaron demasiada atencion y basicamente me dijeron que no me preocupe por ese limite de ram.

Buscando un poco encontre esta explicacion para noob en temas de linux :p
Help! Linux ate my RAM!

La conclusion que saco es que tienen mal configurado el informe de consumo de ram, mostrando lo ocupado por la cache de archivos que no es memoria realmente ocupada.
 
Última edición:
Arriba