Credit image

¿Cuánta memoria RAM consume mi servidor?

¿Cuánta memoria RAM consume mi servidor por petición? Una buena forma de medir el consumo de tu servidor web es calculando el gasto por petición y teniendo en cuenta las páginas vistas.

Después del manual para reducir el consumo de CPU y memoria RAM del servidor, seguimos con los consejos para optimizar nuestro servidor. Uno de los aspectos que más debemos cuidar es el uso de memoria RAM que hacemos a medida que se ejecutan nuestros scripts.

Cuando los visitantes acceden a nuestras páginas, la ejecución de los scripts PHP (o Perl, Ruby...), las consultas SQL a la base de datos, la optimización de la programación y otros factores ayudan o perjudican en el uso de memoria RAM. La mayoría de las veces no tenemos ni idea de cuanta memoria estamos utilizando en cada petición de página, pero vamos a averiguarlo.

PHP 5.2.0


echo 'Memoria usada: ' . round(memory_get_usage() / 1024,1) . ' KB de ' . round(memory_get_usage(1) / 1024,1) . ' KB';

PHP 4.3.2


echo 'Memoria usada: ' . round(memory_get_usage() / 1024,1) . ' KB';

Con este código PHP (sólo en PHP 4.3.2 o superior) obtendremos la cantidad de memoria que está consumiendo por petición nuestro blog o página web. Pero puede ocurrir que nuestro sistema no esté compilado con esta opción, para ello podemos utilizar la siguiente función. Obviamente, necesitaremos

function memory_get_usage() {
     $pid = getmypid();
     exec("ps -o rss -p $pid", $output);
     return $output[1] *1024;
}

En muchos casos nos resultaría más útil guardar en una variable (recuerda, no debes usar echo al principio si envías cabeceras, obtendrás un error) el consumo de memoria que hay al principio del script:

$mem_inicio = round(memory_get_usage() / 1024,1);

Así, más tarde lo podríamos imprimir por pantalla para compararlo con el consumo final y conocer el verdadero gasto del script, ya que el consumo final puede estar debido a razones «anteriores» a la petición del script, como el uso del mod_rewrite, gestión de los procesos del apache y muchos otros criterios.

Date cuenta que esta es una buena forma de ver cuánto está consumiendo por petición nuestro Wordpress (o cualquier otro CMS). ¿Y tu blog cuánto consume por petición?

Escrito por Manz, el , en programacion. Comentarios recibidos: 39.

39 comentarios de lectores
Tankian
Tankian
1

Por ahora menos de 100kb por petición, esperemos que se mantenga así de bajo pa no necesitar mas RAM en el server :P Mmm, y por que no dices tu cuanta memoria te consume el tuyo??

sebasetu
sebasetu
2

Muy buen consejo, esto puede llegar a ser muy práctico. :D

Manz
Manz
3 Autor

Emezeta está consumiendo unos 300kb por petición. Realmente creo que estos valores (y el de Tankian) no son muy altos. Habría que confirmar cuanto consumen gestores como Wordpress, Movable type y otros. A ver si alguien se anima (y especifica también los plugins que usa).

Lean lee
Lean lee
4

Justamente a mi mi servidor de hosting arnetHost me quiere hechar y me dice que cambie de gestor de blog para una pagina de frases. (http://www.frasesparamsn.com.ar ) porque dice que les consumo mucho cpu, pero hice de todo por solucionarlo y nada, eso que solo tengo 3 plugins activados, y no pude solucionarlo. ya no se que hacer. Ahora esa pagina la redirecciono a blogspot porque sino me la suspenden, dicen que les consumo muchos recursos. No entiendo como puede consumir tanto wordpress, el tema que uso es simple, (Indigo) y 3 plugins. Uso wp-cache, y sigue todo igual. NO se si sera el servidor o wordpress, muchos han tenido el problema en dreamHost tambien. Ahora me dicen que cambie de gestor, que wordpress les consume todo, pero como puede ser que halla tantos blogs en otros servidores con wordpress y no les da problemas?. AL final pague el hosting y no me sirve, debo irme seguro porque no puedo hacer que deje de consumirles tanta cpu. El promedio de uso es del 35 % y es compartido el servidor.

Manz
Manz
5 Autor

Lean lee, quizás deberías intentar aplicar la función del artículo para conocer el consumo de memoria. Cuidado con el tema de los plugins, una buena estrategia sería ir probando a desactivar plugins para saber cuanto consume cada uno.

Lean Lee
Lean Lee
6

Voy a intentar probar con este metodo para ver, pero los plugins no son, porque desactive todos y todo seguia igual, Es mas el wp-cache lo puse para que se renovara cada 60000 segundos, asi cada persona que entraba no debia hacer cada peticion individual a la base de datos, pero igual seguia consumiendo mucho uso de cpu debe ser mis hosting que no esta preparado para wordpress, porque despues consulte a un amigo y el tb tubo el mismo problema ahi. Se fue a EL Server.com y ya no tuvo problemas, claro vale mas caro, pero es de los mejores de aca. No hay como solucionarlo, Intente ver si habia un Wordpress lite, encontre solo uno llamado lightpress o algo asi, pero a cada intento por ver que pasa, cuando la pagina tiene visitas, o andan muchos conectados, me empiezan a correr los del servidor: señor su web nos esta provocando tal cosa, vamos a suspenderla, por favor tome las medidas necesarias : S Nose que sera, tengo una web parecida en un hosting gratuito de phoneaccess y de momento no diferon nada. Aproposito Manz, sabes si existe algun codigo que en blogger permita que aparezca el titulo del post primero, y despues el titulo general como en wordpress?

Manz
Manz
7 Autor

También depende de los hostings. Buscate un hosting compartido que sea bueno. Si conoces los gastos de memoria que produce tu wordpress sabrás a que atenerte. En blogger sólo tienes que observar algunos templates que lo tienen hecho, si no recuerdo mal funcionaban con una especie de variables que puedes modificar.

Lean Lee
Lean Lee
8

Gracias, si ya lo encontre al codigo de blogger. Voy a ver que hago con la web que da problemas, tiene buenas visitas, pero con todos estos problemas perdi posiciones en google. saludos

Jorge
Jorge
9

Nucleus 3.24 con cinco plugins: 2000 Kb Plugins: CacheLite, CaptchaLite, FlashVideo, Latest Comments y SkinFiles

Manz
Manz
10 Autor

Gracias Jorge, a ver si más gente se anima y asi conocemos el consumo de plugins y CMS.

Manz
Manz
11 Autor

Según algunas pruebas, parece que: - Wordpress recién instalado, consume alrededor de los 6MB por petición, aumentando según los plugins añadidos. - Joomla recién instalado, consume alrededor de los 4MB por petición.

vitio
vitio
12

Alguien sabe cuanto consume NukeET?

George el ermitañ
George el ermitañ
13

Muy buen codigo lo utilice en http://www.yoggisms.com y funcioan bien, me ayuda a detectar un poco mas los errores que a vecese frecuientemente cometemos

Adfer
Adfer
14

Eso quiere decir que por cada usuario que entra a mi blog (wordpress) me está consumiendo como mínimo 6Mb de la RAM de mi server? Mi VPS es de 256Mb, lo que implica que con más de 40 visitas simultáneas ya tendría problemas, ¿estoy en lo cierto?

Ruud
Ruud
15

Pues yo no se, me he leído todos tus artículos sobre optimizar el servidor y la verdad que yo sigo con problemas, he cambiado muchas cosas en mi blog y cada cierto tiempo -bastante seguido- Media Temple colapsa y se me cae y la única forma de arreglarlo es reiniciarlo manualmente. Mis visitas no son taaaantas como para mantener el servidor con sobrecarga asi que no entiendo nada, un amigo usa DreamHost de donde me echaron por muchas visitas y el al dia tiene cerca de 20.000!!!! según el por un sistema de cacheo que idearon. No se, sera cosa del servidor... de mi blog mal diseñado... o de mi puñetera suerte?¿? :P saludos

Manz
Manz
16 Autor

@Adfer: A grandes rasgos sí, aunque no es tan "crítico" como parece. Hablaríamos de 40 visitas simultáneamente, y es dificil conseguir tal nivel de concurrencia. @Ruud: Algo bastante frecuente es el uso de plugins que consumen gran cantidad de memoria. Te recomiendo desactivarlos y comprobar si funciona correctamente sin ellos.

Ruud
Ruud
17

No utilizo tantos plugins solo los basicos

Manz
Manz
18 Autor

@Ruud: ¿Has probado el código del artículo? ¿Cuánta memoria te dice que esta consumiendo tu servidor? Si tienes acceso SSH, prueba a mostrarnos la salida del comando uptime y el comando free -m.

Ruud
Ruud
19

He puesto el codigo, y en mi blog Chuchesuma tengo 10232.2 KB de 11776 KB y en el compendio de enfermeria tengo 13644.3 KB de 14336 KB yo no se de donde diablos consume tanta memoria, si tu hablas de kilos yo tengo megas :S Esto no se ve bien.

Manz
Manz
20 Autor

@Ruud: ¡Ojo! Depende del CMS que utilices. Veo que utilizas WP, y una instalación limpia de Wordpress consume aproximadamente 6 megas. Sin embargo, 13 - 11 megas es una cantidad bastante alta. Deberías probar a quitar todos los plugins e ir comprobando la memoria. Desde que tengas un sólo plugin mal optimizado, puede perjudicar bastante tu sistema. Informate de la eficiencia con respecto a memoria de los plugins que usas.

Ruud
Ruud
21

Logre disminuir el consumo a 8 quitando el plugin all in one seo, y el Viper's Video Quicktags que lo ocupaba para las entradas viejas cuando youtube aun no se podia poner en wordpress. Ahora no se que tal me vaya tras sacar el all in one seo :S saludos

Manz
Manz
22 Autor

@Ruud: Puedes intentar buscar plugins alternativos que consuman menos memoria.

abraham
abraham
23

Hola a todos, andaba buscando algún tipo de explicación sobre el caso que me está tocando vivir estos días. Hace dos días me cortaron el servicio de la bitácora que edito. La contestación del proovedor es "Tu dominio estaba consumiendo demasiados procesos fast-cgi y se ha tenido que cortar para evitar problemas en el servidor. Deberás tomar las medidas oportunas para que esto no se repita." No aclaran nada más (uno es inexperto sobre código y demás) y lo que es más grave (cortan sin aviso el acceso a la bitácora), con lo que me imposibilitan desabilitar plugins. ¿Algún consejo?

DnL
DnL
24

A mi me sale esto: Memoria usada: 11700.3 KB de 12032 KB creo que soy el peor de todos los que mostraron sus consumos, si alguien me puede ayudar a optimizar muchas gracias

Klaudia
Klaudia
25

@Manz: Podrias decirme las capacidades que existen de memorias ram. Gracias

Hackpat
Hackpat
26

Hola a todos, quisiera ver si pueden sacarme de una duda, actualmente tengo un VPS (centos)con un micro Xeon 2.4 y 589mb dedicados, el problema es que utilizo WP 2.7 con 4 pluging (wp-supercache // xml sitemap // ads manager y wp-navi)y optimicé el theme para que ejecute la menor cantidad de consultas, hasta deje texto html en lugar de php para el header. el problema que cuando llego a las 135 o 150 visitas online (constantes) se satura toda la memoria! el consumo promedio seria de 4.2mb por usuario conectado estimativamente, y no lograre subir la cantidad de usuarios online si no agrego mas memoria... La pregunta puntual es: 1_ un amigo tiene un host shared en HostGator y tiene un promedio de 140 a 250 usuarios conectados constantemente ( el día de la madre tenia de 400 a 600 constantes dependiendo de la hora) y su host no se mosquea... como puede ser posible? me conviene pasarme a uno de estos host y pagar 10 dólares por mes en lugar de tener mi VPS? 2_ Cual es el consumo de mb de memoria por usuario conectado en WP? Aclaraciones: ya optimice las tablas, saque todos los plugin no necesarios y subí todas las imágenes a a un host de imágenes (tinypic) además de eso, las feed estan direccionadas a Feedburner y las búsquedas estan con google y no con el wp... Alguien podria ayudarme y/o decirme si el consumo y la saturación del VPS es correcto? porque hablando con varias personas, a todos les funciona perfecto! menos a mi :P

Manz
Manz
27 Autor

@Hackpat: Un VPS es mucho superior a un hosting compartido, por lo que algo falla en lo que dices. - ¿Cómo estás calculando el número de usuarios online? - ¿Qué ocurre cuando dices que se satura la memoria? Puedes conectarte por SSH y hacer un top para ver que está consumiendo más memoria (si vas a pegar mucho código, utiliza nopaste).

Hackpat
Hackpat
28

Mira, solo veo que en whosread.com o en whos.amung.us/ me marca que hay 150 conectados, y ahí es cuando el consumo de memoria se dispara, tengo 589mb y con 150 conectados consume casi todo, unos 580mb y no entiendo como puede ser que consuma tanto, el cpu ni se mosquea, el problema es la memoria Y no se como saber que es lo que dispara tanto consumo de memoria Te dejo una captura de pantalla del vps http://i40.tinypic.com/2d94jde.jpg si tienes alguna idea de cómo averiguar que es lo que consume tanta memoria lo agradeceria, la pregunta es? es normal este consumo con 150 usuarios conectados? No se si este dato sirva de algo Saludos y muchisimas gracias por responderme!

Hackpat
Hackpat
29

te dejo dos capturas de lo que me pediste http://i42.tinypic.com/28rx42.gif http://i41.tinypic.com/2gttcpf.gif creo que el problema es que quedan muchas cosas en sleep, pero no soy un entendido en esto, y la verdad que no entiendo porque consume tanto, tendre que reinstalar wp desde 0 y cargar las tablas de los post? Saludos!

p0yo77
p0yo77
30

Memoria usada: 15212.8 KB de 15360 KB Wordpress con 13 plugins instalados, creo que debo reducir esa cantidad, enserio es un chingo

Rafael
Rafael
31

Confirmo una variante, por ejemplo, en un CMS de Foros llamado MyBB www.mybboard.net este contiene una informacion de debug en donde muestra la memoria consumida. Segun MyBB: 8.75 MB Segun el Manz-Code: 6647.1 KB de 6912 KB Alguna idea de porque la variante? Podeis verlo en la URL de mi foro ;) Manz, tendras por ahi alguno para saber las queries usadas y el tiempo de carga? Saludos y Gracias por el Tip.

Vera
Vera
32

En mi blog tengo un total de 56 plugins instalados, 10 de ellos están inactivos y aún así el consumo de memoria entra de dentro de los parámetros normales. Mucha gente no suele instalar plugins debido a la mala información que tienen acerca de que éstos consumen demasiada memoria, sin embarlo los plugins solo consumen cuando se ejecutan. Los widgets también consumen recursos y sin embargo he visto páginas webs plagads de widgets, tanto los propios de Wordpress como externos, ralentizando en el caso de los segundos la carga del Blog. Todos conocemos los plugins Wp-Cache y Wp Super Cache, yo puedo agregar otro muy util que es Wp-Widget Cache http://wordpress.org/extend/plugins/wp-widget-cache/screenshots/ Con ese podemos lograr una cache de los widgets (propios de wordpress) y en definitiva cachear la sidebar ya que los dos comentados antes no lo hacen. Evidentemente, todos los widgets no deberían ser cacheados, sino aquellos que sean más repetitivos cada vez que visitamos enlaces diferentes. Por ejemplo: no deberíamos cachear un widget para el panel de acceso a los usuarios, eso sería absurdo. Excelente Blog Manz ;), un saludo desde la isla vecina (Gran Canaria). PD: he comentado sobre esto también en mi blog: http://www.verasoul.com/2009/10/como-saber-el-consumo-de-memoria-ram-de-nuestro-blog-en-el-servidor.html

hadle
hadle
33

hola, estoy usando joomla y coloco el codigo pero no me funciona, y me gustaria saber cuanta memoria estoy usando... alguna sugerencia de en que parte colocarlo??

Miguel Sosa
Miguel Sosa
34

por experiencia muchos plugins de WP tienen alto consumo de memoria. con respecto a la pregunta de Lean lee necesitas pedir que tipo de recurso es el que estas usando de mas, procesador, ram, conecciones , iowait, sql, etc. eso ayudará a determinar la causa y solucion.

rafa
rafa
35

Mi propio sistema de blog consume desde 55kb a 88kb (en la zona de entradas). El sistema tiene comentarios,buscador,estadisticas,admin y bueno creo que consume bien poco.

Jonathan
Jonathan
36

excelente post, les dejo mis comentarios: Tenia un sitio en phpnuke el cual consumia 6000 kb me dedique a optimizarlo lo mayor posible y ahora anda sobre los 4000kb sin embargo tuve que mudarme a un servidor dedicado por que ni el compartido ni el vps me soportaron el trafico , tengo de 500 a 800 usuarios online simultaneos ahora estoy programando todo desde 0 php puro voy a un 90% de las funciones necesarias para el completo funcionamiento y puedo decir lo siguiente reduje de 120 tablas a 20, y el consumo bajo hasta 400kb buscare optimizarlo mas, pero dado a todas las ejecuciones del sitio por el tipo de contenido no es lo mas sencillo del mundo sin embargo de 4000 a 400 es una enorme diferencia para ejemplificar CMS soportaba 256 peticiones simultaneas sitio en PHP soporta 2560 peticiones simultaneas jejeje asi q si tienen un alto trafico les recomiendo crear un sitio desde 0 y dejar a un lado los CMS

TUCINEOCM
TUCINEOCM
37

@Lean lee: hola amigo te aconsejo uses W3 Total Cache es el mejor que hay ahora con multitud de opciones aqui el enlace para descargartelo http://wordpress.org/extend/plugins/w3-total-cache/

Karma
Karma
38

Mi blog que hice, que esta al 45 % porque me falta el back-end consume 701.5 KB de 768 KB en mi localhost, como puedo saber cuanto cpu consume?

dany
dany
39

Hola a todos una pregunta cual es el mejor pluing para mejorar la velocidad en un blog ?

Publica tu opinión

Si lo deseas, puedes utilizar el siguiente formulario para publicar tu opinión o responder a alguna de las existentes:

Previsualización

Aquí se previsualizará su comentario. Revise que sea correcto antes de publicarlo.