Foros del Web » Administración de Sistemas » Apache »

Problema configuración MySQL

Estas en el tema de Problema configuración MySQL en el foro de Apache en Foros del Web. Buenas a todos, tengo problemas con mi server. Hoy hemos cambiado la página web, está basado en un oscommerce. Pues bien, a cabo de unas ...
  #1 (permalink)  
Antiguo 09/09/2011, 16:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema configuración MySQL

Buenas a todos,

tengo problemas con mi server. Hoy hemos cambiado la página web, está basado en un oscommerce.

Pues bien, a cabo de unas horas de funcionar sin problemas, la página se ha ralentizado de tal forma que no se podía trabajar.

De media tenemos unas 1000 visitas diarias en todo nuestro sitio. Si bien, hace poco incluimos mas productos ( unos 35 días ), en total disponemos de unos 45000. Tuvimos que crear mas campos par albergar mas imágenes ( product_imageX ), hasta un total de 10. Esto lo creamos en la misma tabla "products".

Bueno, el problema lo hemos visto porque al hacer un top via SSH el proceso mysql trabajaba al 100% todo el rato, y si reiniciábamos el proceso, funcionaba durante unos minutos y luego dejaba de funcionar.

Hemos pasado un fsck y se han reparado todos los errores, y también hemos cambiado los parametros del my.conf.

Aquí las características de la maquina:

Quad-Core AMD Opteron(tm) Processor 2344 HE con CentOS.
4GB RAM
Apache/ 2.2.3
MySQL/ 5.1.50
PHP/ 5.2.14


Y aqui el archivo "my.cnf" del servidor:


[mysqld]
bind-address=127.0.0.1
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqld]
max_allowed_packet = 256M
sort_buffer_size = 512M
max_connections=500
query_cache_size = 512M
query_cache_limit = 512M
query-cache-type = 2
table_cache = 80
thread_cache_size=8
key_buffer_size = 512M
read_buffer_size=64M
read_rnd_buffer_size=64M
myisam_sort_buffer_size=64M
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_size=700M
innodb_additional_mem_pool_size=20M

Lo mas seguro es que tenga mal configurado algún parámetro, porque hasta ahora me funcionaba todo bien. Además las consultas que hago siempre las cierro.

Ah, y se me olvidaba, aquí os cuelgo una pantalla de "top", parece que coje mucha memoria virtual y muy poca de física. Es como si se "colapsara" porque tiene poca memoria asignada. Puede ser ?

top - 00:48:13 up 11 min, 1 user, load average: 1.18, 1.03, 0.59
Tasks: 153 total, 1 running, 152 sleeping, 0 stopped, 0 zombie
Cpu(s): 25.1%us, 1.9%sy, 0.0%ni, 65.0%id, 8.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4150292k total, 1177840k used, 2972452k free, 19408k buffers
Swap: 1052248k total, 0k used, 1052248k free, 341896k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2563 mysql 18 0 2007m 162m 5124 S 100.0 4.0 7:32.64 mysqld
3107 clima 15 0 8912 3564 2552 S 0.7 0.1 0:00.02 in.proftpd
513 root 10 -5 0 0 0 S 0.3 0.0 0:00.15 kjournald
2036 root 15 0 1816 576 476 S 0.3 0.0 0:00.06 syslogd
2317 root 15 0 6948 1804 1424 S 0.3 0.0 0:00.04 master
3106 root 15 0 2428 1036 796 R 0.3 0.0 0:00.03 top
3110 postfix 15 0 8796 3428 2772 S 0.3 0.1 0:00.01 smtpd
3118 postfix 15 0 8820 3272 2660 S 0.3 0.1 0:00.01 smtpd
1 root 15 0 2160 640 556 S 0.0 0.0 0:00.74 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0


Gracias!

Un saludo!
  #2 (permalink)  
Antiguo 09/09/2011, 17:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema configuración MySQL

De paso, os pongo una de las consultas que se quedan bloqueadas:

SELECT products.products_id,
products.products_quantity,
products_to_categories.categories_id,
products.products_image,
products.products_price,
products.products_status,
products.products_tax_class_id,
products.products_proveedor,
products.products_date_added,
products_description.products_name
FROM products LEFT JOIN products_description ON products.products_id = products_description.products_id
LEFT JOIN products_to_categories ON products.products_id = products_to_categories.products_id
WHERE products_status = '1' and products_quantity > 0 and products_image <> '' AND products_image <> 'noimg.gif' AND products_proveedor <> 'hola' ORDER BY products_date_added DESC LIMIT 12


Como podéis ver, es una consulta de 12 resultados ordenados por fecha de mas nuevo a mas viejo.

Un saludo!
  #3 (permalink)  
Antiguo 09/09/2011, 18:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema configuración MySQL

Bueno, después de investigar un poco, me da la sensación que nos están atacando a la base de datos.

En el momento que volvemos a activar la base de datos, se llenan de procesos inmediatamente, y parece que hacen alguna copia al "tmp" ( o eso es lo que pone ).

De momento he cambiado el password y además voy a copiar toda la información a otra base de datos, con otro usuario y otro password.

Que mas puedo hacer ? Y si no es eso, puedo optimizar el my.cnf ?

Gracias!

Un saludo!
  #4 (permalink)  
Antiguo 09/09/2011, 18:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema configuración MySQL

Mas información!

Me he dado cuenta que en los procesos de la base de datos, el status es "Copy to tmp table"... Si "mato" a este proceso, el % de CPU baja hasta niveles normales.

De momento he creado otra base de datos y he pasado todos los registros. Lo voy a dejar unas horas a ver que tal funciona. Si tenéis idea de que puede ser...

Un saludo!
  #5 (permalink)  
Antiguo 10/09/2011, 17:54
Avatar de Datacenter1
Usuario no validado
 
Fecha de Ingreso: agosto-2005
Ubicación: Chicago
Mensajes: 1.982
Antigüedad: 18 años, 8 meses
Puntos: 144
Respuesta: Problema configuración MySQL

Tu MySQL parece tener que escribir demasiado a disco y esto está matando el rendimiento

Lo primero haz un mantenimiento completo de la base de datos y los siguientes datos del top sugieren que estás quedandote corto de memoria y i/o (lecturas y escrituras en disco)

Mi sugerencia es que contrates algún servicio de optimización
  #6 (permalink)  
Antiguo 11/09/2011, 02:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 72
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema configuración MySQL

Cita:
Iniciado por Datacenter1 Ver Mensaje
Tu MySQL parece tener que escribir demasiado a disco y esto está matando el rendimiento

Lo primero haz un mantenimiento completo de la base de datos y los siguientes datos del top sugieren que estás quedandote corto de memoria y i/o (lecturas y escrituras en disco)

Mi sugerencia es que contrates algún servicio de optimización
Gracias por contrestar! Parece que al hacer el cambio de web las consultas cambiaron levemente y habia unas dos o tres que no tenian los indices en la tabla bien colocadas.

Una vez corregido el problema, parece que la web funciona muy rapido.

Al final tambien ampliamos en el my.cnf mas memoria y la adecuamos a las 4Gb que posee el servidor.

La verdad es que no creía que dos o tres indices pudieran darnos tantos problemas!!

Un saludo!

Etiquetas: ftp, mysql, php, server, servidor, servidores-web
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.