A ver, recurro a los fieras del foro ya que me encuentro desesperado :_(
Aparentemente de forma aleatorea drupal se come toda la memoria de un servidor dedicado y no tengo ni idea de por qué motivo. Cuando esto ocurre ganar acceso al servidor y reiniciar el proceso que sirve las páginas es toda una pesadilla...
Voy a hacer un resumen de mi instalación de drupal (no del sistema operativo ni de la version de la base de datos, ya que lo que se come la memoria es drupal)
Versión Drupal: 4.6.5
Temas:
Una variación del friendselectric y una variación del mobile.
Modulos instalados (además de todos los del core):
adsense, attachment, browscap, controlpanel, feedback, filemanager, gsitemap, hof, members, nodevote, sitemenu, syndication, taxonomy_access, taxonomy_dhtml, tinymce, userpoints y xstatistics.
Modulos activos (del core o no, excluyendo los requeridos):
adsense, aggregator, archive, attachment, blog, book, browscap, comment, contact, feedback, filemanager, forum, gsitemap, help, hof, locale (7 idiomas), members, menu, node, nodevote, page, poll, profile, queue, search, sitemenu, statistics, story, syndication, taxonomy, taxonomy_access, taxonomy_dhtml, throttle (sin configurar), tinymce, tracker, upload, userpoints y xstatistics.
El tamaño de la base de datos es 72 megas el backup.
La carga del servidor viene a ser a groso modo 6000 usuarios registrados, 5300 visitantes unicos/día, 14000 impresiones de página día. El consumo de memoria no es función de la carga puntual del server, es decir ha aguantado sin problemas 30 registrados y 150 visitantes a la vez y de repente dispara el consumo de memoria con 7 registrados y 20 visitantes.
Mi principal sospechoso:
A día de hoy mi principal sospechoso es el sistema de descargas de drupal, los archivos subidos con upload son privados (drupal gestiona la descarga de los mismos a traves de system/files&file=xxx.xxx estando en un directorio no accesible de forma anonima por http) y son muchísimos archivos algunos de ellos grandecitos, de más de 50 megas.
El servidor está en producción, con lo que las pruebas que puedo hacer son algo limitadas.
Os agradeceré cualquier ayuda, de verdad estoy desesperado y mis búsquedas han sido completamente infructuosas :_(
Respuesta
Mira el problema es facil de arreglar la primera cosa que puedes intentar es subir memoria de el sistema aqui te dejo la pagina para con el tutorial de como hacerlo pero tambien es posible cambiar tu programacion para que sea mas rapido como usar cache en las consultas de mysql
Tutorial de memoria:
http://unidadlocal.com/Cambiar_Buffer_en_Mysql_Mejorar_la_velocidad_de_las_consultas
Espero esto te sirva de algo
saludos
problemas en instalacion
bueno recien comienzo a ver este cms bueno me sale este problema al instalar
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 901 bytes) in C:\AppServ\www\drupal\includes\database.mysql-common.inc on line 41
Como aumentar el límite de memoria
Aquí tienes varias solucione sapra aumentar el límite de memoria:
http://drupal.org/node/207036
mariano ortuño
Noticias-tic.com
Consumo absoluto de la memoria en APACHE
Tengo un problema que toda la memoria se consume a causa de que crea archivos core.xxxx en el directorio includes del web site:
Mi configuración es:
Drupal 4.7.2
Kernel version 2.6.15-7_1.BHsmp
Apache version 1.3.36 (Unix)
PERL version 5.8.7
Memory 20000 MB
PHP version 4.4.2
MySQL version 4.1.20-standard-log
No estoy seguro si es el cron pero ya cambie el nombre por si a caso alguien lo esta ejecutando
Estabilidad conseguida
Bueno, al fin he terminado los examenes y puedo hacer un seguimiento de este hilo...
El servidor lleva estable más de una semana (aunque en cuestion de modulos y bloques ya está en cuadro), de todas formas han sido 3 cosas las que realmente han marcado la diferencia:
1.- Desactive la funcion de creación de logs de IIS para la web conflictiva.
2.- He programado una optimización de la base de datos cada 3 horas.
3.- Aumente la cache de hilos de MySQL y reduje su tiempo de espera a 15 segundos (tal como se sugiere en "MySQL lanza demasiadas conexiones" en inglés)
Podeis hacer un seguimiento de las sugerencias que me hicieron los chicos de drupal.org en el foro de calidad y estabilidad.
Ahora estoy en la tarea de ir reactivando módulos y bloques uno a uno, si vuelvo a tener problemas seguiré posteando ;)
Por cierto, os lanzo una duda que me ha asaltado en un momento durante el tiempo que me he estado pegando con este problema. ¿Es conveniente cambiar el nombre del script cron.php? ¿Puede ser un problema tener un script que es sabido que es lento con un nombre bien conocido, no?
Gracias por vuestra atención, salu2.
Administrando: Win 2003 SP1-IIS 6.0-PHP 5.0.3 ISAPI-MySQL 5.0-Drupal 4.6.5
Webmaster: www.pesepe.com-Beta.pesepe.com-gamers.pesepe.com
cron o tron?
hola Niteman,
sinceramente... desconozco este rollo, pues no tengo a mano un site con esa demanda pero, con respecto a cron...
no estaria mal hacerme un script para que te joda el cron.php a cada segundo ;)
(esto lo puedes ver facilmente en los logs)
quiza seria interesante cambiarle los permisos y que solo tu los ejecutes desde dentro con crontab y no dejarlo publico.
Martin GERSBACH à Paris, FRANCE
motto : «No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela». Albert Einstein
los logs...
Cuando pasa lo de la memoria me puedo olvidar de los logs... además los de el IIS los he tenido que desactivar :(
Lo que comentas de los permisos si lo veo viable, pero creo que deberían sugerirlo en la propia documentación de drupal, o al menos advertir de que puede suponer un problema de seguridad.
A mi la verdad, como he tenido que programar cron ejecutando php desde linea de comandos, no me trastorna nada cambiarle el nombre o incluso impedir el acceso web a ese script. Pero vamos, cada uno configura sus servidores de una forma diferente, admás de que la ejecución desde linea de comandos está desaconsejada según el manual (existe por ahí un programa java con la funcionalidad de wget que se puede convertir en ejecutable y facilitarnos mucho la vida en sistemas windows).
¿Ninguno habeis tenido un "ataque por cron"? Me resulta curioso ;)
Salu2
Administrando: Win 2003 SP1-IIS 6.0-PHP 5.0.3 ISAPI-MySQL 5.0-Drupal 4.6.5
Webmaster: www.pesepe.com-Beta.pesepe.com-gamers.pesepe.com
Perdiendo las ganas
Continuo con mi cuasi-monologo.
Los problemas de estabilidad han vuelto y son peores aún. Lo más divertido del asúnto es que no he activado ningún modulo nuevo, ni es función de la carga de tráfico del site.
Lo único que tengo claro a dia de hoy es que está relacionado con mySQL, no se si es por el numero de conexiones ni si lo que pasa es que vacia la caché, en fin, ya solo sé que estoy sin fuerzas. Probé el módulo devel y vi que hay consultas duplicadas en algunos módulos así como algún bloque con consultas avariciosas, por lo demás no he sabido encontrar donde muestra los consumos de memoria de cada módulo.
Veo que por el momento nadie ha tenido este problema en drupal hispano y que debe ser de solución complicada. Postearé en drupal.org con mi "inglés" a ver si algun fiera de allí me da alguna idea.
Gracias por vuestra atención al leer mis parrafadas.
Administrando: Win 2003 SP1-IIS 6.0-PHP 5.0.3 ISAPI-MySQL 5.0-Drupal 4.6.5
Pequeños progresos - Ayuda modulo devel
Siguiendo con mi informe de situación he ganado estabilidad, aún no esta 100% pero solo se dan problemas puntuales digamos que estoy en un 95% de estabilidad.
El problema principal es que necesito ir recuperando los módulos que desactivé para obtener su funcionalidad y temo que va a ser un proceso largo y duro.
De entrada, profundizando más en el problema de la memoria he triplicado la cache por defecto de mySQL poniendola en 24 megas a ver que tal se comporta. A juzgar por lo que estoy viendo parece haber una relación entre el consumo de memoria de mySQL y el de drupal. En principio achacaría esto a fallos de página en la caché mySQL, pero no tengo suficiente experiencia en el tema para poner la mano en el fuego.
Por otro lado he visto recomendar en drupal.org muchas veces el modulo devel para localizar problemas de memoria, el problema lo tengo ahora que he instalado el modulo devel y no encuentro la opción de ver el consumo de memoria por ninguna parte.
Si alguien tiene experiencia con el módulo devel agradecería que me echara un cable, por favor.
En cualquier caso seguiré posteando mis progresos por si le pueden servir de ayuda a alguien en el futuro.
Administrando: Win 2003 SP1-IIS 6.0-PHP 5.0.3 ISAPI-MySQL 5.0-Drupal 4.6.5
Webmaster: www.pesepe.com-Beta.pesepe.com-gamers.pesepe.com
Informe de situación, para atrás como los cangrejos
Las descargas han resultado no ser las culpables (o al menos no las culpables únicas) he pasado a la estrategia de meter la tijera e ir desactivando los módulos y bloques no fundamentales (y es dificil decidir cual lo son) uno a uno.
Al desconocer cual es el consumo aproximado de memoria de cada bloque y modulo (solo encontré una lista y no completa en civicspace) estoy pegando palos de ciego :(((
De verdad, la más minima pista me vendría muy bien. Gracias de antemano.
Administrando: Win 2003 SP1-IIS 6.0-PHP 5.0.3 ISAPI-MySQL 5.0-Drupal 4.6.5
Webmaster: www.pesepe.com-Beta.pesepe.com-gamers.pesepe.com