anotaciones que no quiero recordar, ni olvidar

me

Blog Técnico

Optimizar MySQL, tuning que llaman...

Ratio: 5 / 5

Iniciar activoIniciar activoIniciar activoIniciar activoIniciar activo

El archivo de configuración por defecto que viene al instalar MySQL es el mismo desde hace ya varios años (¬¬') sin embargo el hardware ha cambiado, y mucho.

Nosotros tenemos algunos parámetros como estos y la verdad se nota, ya ha pasado una semana desde que empecé este estudio en esta máquina.

# para equipos con 2 o 3 GB de ram
key_buffer              = 512M
max_allowed_packet      = 2M
thread_stack            = 128K
thread_cache_size       = 16

sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 16

myisam-recover          = BACKUP
#max_connections        = 100
table_cache             = 512
thread_concurrency      = 8

query_cache_limit       = 4M
query_cache_size        = 256M

log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 3

No voy a explicar cada parámetro, por no hacer esto un tostón, pásate por la web oficial de MySQL aquí.

Como podéis ver cacheamos y mucho. Además le hemos dedicado un buen espacio de la RAM.
Esto es debido a nuestro uso, en pocas palabras no se trata de un servidor con miles de consultas por segundo, en cuyo caso dedicar tanta cache sería una locura. Se trata de un servidor con unas 50 bases de datos y algunas de ellas con varias tablas de 50.000 registros cada una, varias.
Esto hace que nuestras consultas sean pesadas, cuando teníamos 1M para la cache estas consultas de búsqueda pesadas no cabían en memoria y el servidor alcazaba un 300% de CPU tardando en responde lo suficiente como para hacer un timeout.
Durante estos picos de uso las otras bases de datos y webs de este servidor funcionaban, lentas, pero funcionaban. Ojo con esto, por que nos hace pensar cuantos servidores mal configurados funcionan con estos picos.

Veamos estas dos gráficas, la de arriba es la carga del procesador y la de abajo el uso de la memoria:

Como puede deducirse la línea AZUL es la carga total del sistema y la AMARILLA es MySQL.
A las 9 de la mañana se lanzaron consultas que hicieron que el procesador alcanzase el 300% de CPU, y la línea azul se salió de los gráficos durante varios minutos. Sin embargo como podemos ver en la gráfica inferior no se estaba usando RAM! Más de dos GB libres y el sistema no la usa! Ahora es cuando digo: MySQL caca!

A las 10 de la mañana ya habíamos afinado todo esto y podemos ver como calló temporalmente el uso de memoria de MySQL para ir llenándose poco a poco y no volver a hacer que la CPU se saturase. Incrementamos en 256Mb más el uso de memoria y la CPU no volvió a sobrepasar límites.

La conclusión deducida es que para consultas grandes MySQL no tira de RAM, cuando debería, y así mismo debe repartir los procesos de calculo.
Para nuestros servidores y el tipo de uso que se les da consideramos importante reservar el uso de RAM ya que no tenemos millones de demandas ligeras, si no centenares de peso a la vez.

Y para finalizar una pequeña anotación, si la base de datos que estás usando es tuya o tienes acceso a modificarla, por favor, aprovechate de los índices de MySQL, estos aunque hacen que consumas un poco más de memoria pueden reducir varios segundos, si segundos, los tiempos de respuesta en búsquedas!

Nuevo servidor Linux Plesk: que hacerle una vez puesto

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Cuando montamos un nuevo servidor con PLESK, este viene en teoría optimizado para su óptimo rendimiento.

Pero personalmente pienso que no es así, que siempre podemos afinarlo un poco más. Así que en esta entrada voy a ir anotando consejos que vaya recordando y ya iré empleando:

1.- Limitar la salida de correos, limitando el número de destinatarios de salida.
Así evitaremos que un cliente alojado mande 5.000 correos y colapse el servidor, además de que reducimos las posibilidades de ser listados como servidor de SPAM. Creando un fichero llamado maxrcpt en el directorio /var/qmail/control/ con un número como puede ser 50.
(Ver manual de plesk si es necesario)

2.- Activar Graylist en Plesk, desde el propio panel.
Este fantastico invento reducira notablemente la entrada de SPAM a todas las cuentas de correo, más info de como funciona en la Wikipedia: http://es.wikipedia.org/wiki/Greylisting

3 ...

Comandos de la consola de Linux: touch

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Bien es conocido por todos las cualidades de la consola de Linux. Hay veces que por los motivos que sean podemos necesitar crear un archivo en blanco. Se puede crear a través de un editor de texto (vi, vim, joe, gedit, etc), pero la forma correcta y mas eficiente, es usando el comando touch, indicando el nombre del archivo que queremos crear, Quedaría de la siguiente forma:

$:/touch mi_archivo

Ya tenemos creado nuestro fichero en blanco. Puede darse el caso de que queramos o necesitemos escribir dentro de el, al igual que antes podemos usar un editor, o por el contrario si estamos en consola podemos usar un 'echo' y redireccionar la salida a nuestro archivo. De la siguiente forma:

$:/echo "Esto es una prueba" > mi_archivo

Si lo que queremos es agregarlo al final del archivo:

$:/echo "Esto lo agrego al final" >> mi_archivo

Plesk: Como ver que dominios envían más correos

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Con el siguiente comando de consola podemos saber que dominios son los que envían más correos.

Mostrar/Ocultar código bash

Ver código
cat /usr/local/psa/var/log/maillog | grep -o 'to=.*@.*' | sed 's/to=.*@//' | sort | uniq -c | sort -rn | head

Lo que hace este comando es mirar el log de correo que va guardadndo Plesk y nos cuenta los correos según dominio.

Login automático en inicio de sesión windows

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Fuente: http://support.microsoft.com/kb/315231/es

Si configura el inicio de sesión automático en un equipo, cualquiera que pueda obtener físicamente acceso al mismo puede obtenerlo también a todo su contenido, incluso a cualquier red a la que esté conectado. Además, si habilita el inicio de sesión automático, la contraseña se almacena en el Registro como texto sin formato. El grupo Usuarios autenticados puede leer remotamente la clave específica del Registro que almacena este valor. Por lo tanto, sólo es adecuado utilizar este valor si el equipo está protegido físicamente y se asegura de que los usuarios que no son de confianza no puedan ver el Registro remotamente.

Utilice el Editor del Registro para agregar la información de inicio de sesión. Para ello, siga estos pasos:

1. Haga clic en Inicio y en Ejecutar, escriba regedit y haga clic en Aceptar.

2. Busque la clave del Registro siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

3. Utilizando su nombre de cuenta y su contraseña, haga doble clic en la entrada DefaultUserName, escriba su nombre de usuario y haga clic en Aceptar.

4. Haga doble clic en la entrada DefaultPassword, escriba su contraseña en el cuadro de información del valor y, a continuación, haga clic en Aceptar.

a

Si no hay ningún valor denominado DefaultPassword, cree uno. Para ello, siga estos pasos:

1. En el Editor del Registro, haga clic en Edición, en Nuevo y, a continuación en Valor alfanumérico.

2. Escriba DefaultPassword como nombre del valor y, a continuación, presione ENTRAR.

3. Haga doble clic en la clave que acaba de crear y escriba su contraseña en el cuadro Información del valor.

Si no se especifica ninguna cadena DefaultPassword, Windows XP cambia automáticamente el valor de la clave AutoAdminLogon de 1 (verdadero) a 0 (falso), con lo que deshabilitará la característica AutoAdminLogon.

5. Haga doble clic en la entrada AutoAdminLogon, escriba 1 en el cuadro Información del valor y haga clic en Aceptar.

 

Si no hay ninguna entrada denominada AutoAdminLogon, cree una. Para ello, siga estos pasos:

1. En el Editor del Registro, haga clic en Edición, en Nuevo y, a continuación en Valor alfanumérico.

2. Escriba AutoAdminLogon como nombre del valor y, a continuación, presione ENTRAR.

3. Haga doble clic en la clave que acaba de crear y escriba 1 en el cuadro Información del valor.

6. Salga del Editor del Registro.

7. Haga clic en Inicio, en Reiniciar y, a continuación, en Aceptar.

 

Después de reiniciar el equipo y volver a iniciar Windows XP, puede iniciar la sesión automáticamente.

Para eludir el inicio automático e iniciar una sesión como un usuario diferente, mantenga presionada la tecla MAYÚS después de cerrar el equipo o de reiniciar Windows XP. Observe que este procedimiento sólo se aplica al primer inicio de sesión. Para forzar este valor a futuros cierres de sesión, el administrador debe establecer la clave del Registro siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

 

Valor:ForceAutoLogon

Tipo: REG_SZ

Datos: 1

También puede habilitar el inicio de sesión automático sin modificar el Registro en Windows XP Home Edition y Windows XP Professional (en un equipo que no pertenece a un dominio). Para ello, siga estos pasos:

1. Haga clic en Inicio y, a continuación, en Ejecutar.

2. En el cuadro Abrir, escriba control userpasswords2 y haga clic en Aceptar.

Nota: cuando los usuarios intenten ver la información de ayuda en la ventana Cuentas de usuario de Windows XP Home Edition, dicha información no aparecerá. Además, es posible que reciban el mensaje de error siguiente:

No se puede hallar el archivo de Ayuda Unidad:\Windows\System32\users.hlp. Compruebe si existe en su disco. De lo contrario, necesitará instalarlo de nuevo.

3. Desactive la casilla de verificación Los usuarios deben escribir su nombre y contraseña para usar el equipo y haga clic en Aplicar.

4. En la ventana Iniciar sesión automáticamente, escriba la contraseña en el cuadro Contraseña y, a continuación, vuelva a escribirla en el cuadro Confirmar contraseña.

5. Haga clic en Aceptar para cerrar la ventana Iniciar sesión automáticamente y, a continuación, haga clic en Aceptar para cerrar la ventana Cuentas de usuario.