Linux Tunning : TIME_WAIT socket connections

Neste post será apresentado como ajustar a performance para as conexões que ficam em “TIME_WAIT” no SO .

O valor timeout_timewait determina o tempo que deve decorrer antes que o TCP/IP possa liberar uma conexão fechada e reutilizar seus recursos. Esse intervalo entre o fechamento e a liberação é conhecido como o estado TIME_WAIT ou o dobro do estado de duração máxima do segmento (2MSL). Durante esse tempo, a reabertura da conexão com o cliente e com o servidor custa menos que estabelecer uma nova conexão.

Reduzindo o valor desta entrada, o TCP/IP pode liberar conexões fechadas mais rapidamente e fornecer mais recursos para novas conexões. Ajuste este parâmetro se o aplicativo em execução exigir liberação rápida, a criação de novas conexões ou um ajuste, devido a um baixo rendimento do processamento causado por várias conexões no estado TIME_WAIT.

Continue reading “Linux Tunning : TIME_WAIT socket connections”

Linux Tunning : Shared Memory

Neste post será apresentado como configurar o shared memory no Linux, neste post específico estarei utilizando um Redhat.

De forma conceitual , shared memory é uma parte da memória reservada pelo sistema operacional para que os processos gravem e leiam informações e informações registradas por outros processos.

Continue reading “Linux Tunning : Shared Memory”

Linux Tunning : Open Processes

Neste post será apresentado como configurar o número de processos aberto no sistema operacional caso um serviço específico utilize muitos processos no servidor.

Por padrão nas distribuições Linux o valor que temos de números de processos abertos são de 1024.

Continue reading “Linux Tunning : Open Processes”

Linux Tunning: Swappiness

Este post será apresentado como ajustar o swapiness para melhor desempenho no servidor.

Falando de maneira rápida , swap é usado como uma alternativa para a RAM. É uma pequena partição no disco rígido, que é usado para dar o seu sistema de memória extra quando sua memória RAM está cheia.

Continue reading “Linux Tunning: Swappiness”

Script de tunning do Apache

Script para verificar a performance do Apache .

 

#!/bin/bash
echo "Calculate MaxClients by dividing biggest Apache thread by free memory"
if [ -e /etc/debian_version ]; then
 APACHE="apache2"
elif [ -e /etc/redhat-release ]; then
 APACHE="httpd"
fi
APACHEMEM=$(ps -aylC $APACHE |grep "$APACHE" |awk '{print $8'} |sort -n |tail -n 1)
APACHEMEM=$(expr $APACHEMEM / 1024)
SQLMEM=$(ps -aylC mysqld |grep "mysqld" |awk '{print $8'} |sort -n |tail -n 1)
SQLMEM=$(expr $SQLMEM / 1024)
echo "Stopping $APACHE to calculate the amount of free memory"
/etc/init.d/$APACHE stop &> /dev/null
TOTALFREEMEM=$(free -m |head -n 2 |tail -n 1 |awk '{free=($4); print free}')
TOTALMEM=$(free -m |head -n 2 |tail -n 1 |awk '{total=($2); print total}')
SWAP=$(free -m |head -n 4 |tail -n 1 |awk '{swap=($3); print swap}')
MAXCLIENTS=$(expr $TOTALFREEMEM / $APACHEMEM)
MINSPARESERVERS=$(expr $MAXCLIENTS / 4)
MAXSPARESERVERS=$(expr $MAXCLIENTS / 2)
echo "Starting $APACHE again"
/etc/init.d/$APACHE start &> /dev/null
echo "Total memory $TOTALMEM"
echo "Free memory $TOTALFREEMEM"
echo "Amount of virtual memory being used $SWAP"
echo "Largest Apache Thread size $APACHEMEM"
echo "Amount of memory taking up by MySQL $SQLMEM"
if [[ SWAP > TOTALMEM ]]; then
      ERR="Virtual memory is too high"
else
      ERR="Virtual memory is ok"
fi
echo "$ERR"
echo "Total Free Memory $TOTALFREEMEM"