Comandos Linux de desempenho de servidor

1.1 visualização de desempenho da CPU

1. Verifique o número de CPUs físicas:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2. Veja o número de núcleos em cada CPU física:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3. O número de CPU lógica:

cat /proc/cpuinfo |grep "processor"|wc -l

Número de CPU física * número de núcleos = número de CPU lógica (no caso de não oferecer suporte à tecnologia de hyper-threading)

1.2 Visualização da memória

1. Verifique o uso de memória:

#free -m

total used free shared buffers cached

Mem: 3949 2519 1430 0 189 1619

-/+ buffers/cache: 710 3239

Swap: 3576 0 3576


total:内存总数

used:已经使用的内存数

free:空闲内存数

shared:多个进程共享的内存总额

- buffers/cache:(已用)的内存数,即used-buffers-cached

+ buffers/cache:(可用)的内存数,即free+buffers+cached


Buffer Cache用于针对磁盘块的读写;

Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。



对操作系统来说free/used是系统可用/占用的内存;

对应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。

Quando trabalhamos, devemos olhar para isso da perspectiva do aplicativo.

1.3 Visualização do disco rígido

1. Visualize as informações do disco rígido e da partição:

fdisk -l

2. Verifique a ocupação do espaço em disco do sistema de arquivos:

df -h

3. Verifique o desempenho de E / S do disco rígido (exibido uma vez a cada segundo e exibido 5 vezes):

iostat -x 1 5

Iostat está incluído no pacote systat, você pode usar yum -y install systat para instalar.

Parâmetros frequentemente envolvidos:

  1. 如%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

  2. 如idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。

4. Verifique o tamanho de um diretório no sistema linux:

du -sh /root

Se você achar que o espaço de uma determinada partição está quase esgotado, você pode inserir o ponto de montagem da partição, use o seguinte comando para encontrar o arquivo ou diretório que ocupa mais espaço e, em seguida, descubra a frente que ocupa mais espaço no sistema em ordem decrescente. 10 arquivos ou diretórios:

du -cksh *|sort -rn|head -n 10

1.4 Ver carga média

Às vezes o sistema responde muito lentamente, mas o motivo não é encontrado, então é necessário verificar a carga média para ver se há um grande número de processos aguardando na fila.

carga média: carga média

A média de carga refere-se à utilização média da fila de execução do sistema e também pode ser considerada como o número médio de processos executáveis .

Tomando as condições da estrada como exemplo, as condições da CPU de núcleo único e faixa única são as seguintes:

imagem

  • Um número entre 0,00-1,00 indica que as condições das estradas são muito boas neste momento, não há congestionamento e os veículos podem passar sem obstáculos.
  • 1,00 significa que a estrada está normal, mas pode se deteriorar e causar congestionamento. Neste momento, o sistema não tem recursos redundantes e o administrador precisa otimizar.
  • 1,00 - *** significa que as condições da estrada não são tão boas. Se chegar a 2,00, significa que há o dobro de veículos esperando na ponte. Você deve verificar este caso.

CPU multi-core - a situação multi-pista é a seguinte:

imagem

No caso de uma CPU multi-core, o número no estado de carga total é "1,00 * número do núcleo da CPU", ou seja, a CPU dual-core é 2,00 e a CPU quad-core é 4,00. 

Os processos gerais precisam consumir recursos como CPU, memória, E / S de disco, E / S de rede, etc. Nesse caso, a média de carga não se refere apenas ao uso da CPU. Ou seja, fatores como memória, disco e rede também podem afetar o valor médio de carregamento do sistema. 
Em um processador single-core, quando o valor médio da carga for 1 ou menos, o processo de processamento do sistema será muito fácil, ou seja, a carga é muito baixa. Quando chegar a 3, parecerá estar muito ocupado, e quando chegar a 5 ou 8, não será capaz de processar bem (5 e 8 ainda são limites controversos, por uma questão de conservadorismo, recomenda-se escolher baixo )

Ver dados de média de carga

A média de carga pode ser vista nos seguintes comandos

# top 
# uptime 
# w

Captura de tela abaixo:

comando superior

imagem

comando uptime

imagem

comando w

imagem

Os três valores de média de carga aqui se referem ao valor médio de carga do sistema nos últimos 1/5/15 minutos.

De acordo com a experiência: devemos focar na carga média de 5/15 minutos, porque a carga média de 1 minuto é muito frequente, e a alta simultaneidade em um momento fará com que o valor mude drasticamente.

1.5 comando vmstat para determinar se o sistema está ocupado

Você também pode usar o comando vmstat para determinar se o sistema está ocupado, onde:

procs

r:等待运行的进程数。

b:处在非中断睡眠状态的进程数。

w:被交换出去的可运行的进程数。

memeory

swpd:虚拟内存使用情况,单位为KB。

free:空闲的内存,单位为KB。

buff:被用来作为缓存的内存数,单位为KB。

swap

si:从磁盘交换到内存的交换页数量,单位为KB。

so:从内存交换到磁盘的交换页数量,单位为KB。

io

bi:发送到块设备的块数,单位为KB。

bo:从块设备接受的块数,单位为KB。

system

in:每秒的中断数,包括时钟中断。

cs:每秒的环境切换次数。

cpu

按cpu的总使用百分比来显示。

us:cpu使用时间。

sy:cpu系统使用时间。

id:闲置时间。

1.6 No Linux, você pode usar a ferramenta nethogs para visualizar o tráfego do processo

1.7 Outros parâmetros

查看内核版本号:

uname -a

简化命令:uname -r

查看系统是32位还是64位的:

file /sbin/init

查看发行版:

cat /etc/issue

或lsb_release -a

查看系统已载入的相关模块:

lsmod

查看pci设置:

lspci

2.1.3 Ferramentas de análise de desempenho do sistema

1. Comandos comuns do sistema

Vmstat 、 sar 、 iostat 、 netstat 、 gratuito 、 ps 、 top 等

2. Combinações comumente usadas

  1. vmstat、sar、iostat检测是否是CPU瓶颈

  2. free、vmstat检测是否是内存瓶颈

  3. iostat检测是否是磁盘I/O瓶颈

  4. netstat检测是否是网络带宽瓶颈

2.1.4 Avaliação e otimização de desempenho do Linux

Avaliação geral do desempenho do sistema (comando uptime)
uptime

16:38:00 até 118 dias, 3:01, 5 usuários, média de carregamento: 1,22, 1,02, 0,91

Nota:

  • O tamanho médio de carga de três valores geralmente não pode ser maior que o número de CPUs do sistema.

    O sistema possui 8 CPUs. Se o valor médio da carga for maior que 8 por um longo período, indica que a CPU está muito ocupada e a carga está alta, o que pode afetar o desempenho do sistema.

  • Mas, ocasionalmente, maior que 8, geralmente não afeta o desempenho do sistema.

  • Se o valor médio de saída da carga for menor que o número de CPUs, significa que a CPU tem fatias de tempo ocioso, como a saída neste exemplo, a CPU está muito ociosa

2.2.1 Avaliação de desempenho da CPU

1. Use o comando vmstat para monitorar a CPU do sistema

Exibe informações resumidas sobre o desempenho de vários recursos do sistema, principalmente dependendo da carga da CPU.

A seguir está a saída do comando vmstat em um determinado sistema:

[root@node1 ~]#vmstat 2 3

procs

———–memory———- —swap– —–io—- –system– —–cpu——


r b swpd freebuff cache si so bi bo incs us sy idwa st


0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0


0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0


0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0

Procs

r - O número de processos em execução e aguardando a fração de tempo da CPU. Se este valor for maior que o número de CPUs do sistema por um longo tempo, significa que a CPU é insuficiente e a CPU precisa ser aumentada

b - O número de processos aguardando recursos, como aguardando E / S ou troca de memória.

CPU

nos

A porcentagem de tempo de CPU consumido pelos processos do usuário.
Quando o valor de nós é relativamente alto, significa que o processo do usuário consome mais tempo de cpu, mas se for maior que 50% por um longo tempo, você precisa considerar procedimentos ou algoritmos de otimização.

dele

A porcentagem de tempo de CPU consumido pelo processo do kernel. Quando o valor de Sy é alto, indica que o kernel consome muitos recursos da CPU.

De acordo com a experiência, o valor de referência de us + sy é 80%. Se us + sy for superior a 80%, significa que pode haver recursos de CPU insuficientes.

2. Use o comando sar para monitorar a CPU do sistema

sar executa estatísticas separadas em cada aspecto do sistema, mas aumentará a sobrecarga do sistema, mas a sobrecarga pode ser avaliada e não terá um grande impacto nos resultados estatísticos do sistema.

A seguir está a saída de estatísticas da CPU do comando sar para um determinado sistema:

[root@webserver ~]# sar -u 3 5


Linux

2.6.9-42.ELsmp (webserver) 11/28/2008_i686_

(8 CPU)


11:41:24

AM CPU %user %nice%system

%iowait %steal %idle


11:41:27

AM all 0.88 0.00 0.29 0.00 0.00 98.83


11:41:30

AM all 0.13 0.00 0.17 0.21 0.00 99.50


11:41:33

AM all 0.04 0.00 0.04 0.00 0.00 99.92


11:41:36

AM all 90.08 0.00 0.13 0.16 0.00 9.63


11:41:39

AM all 0.38 0.00 0.17 0.04 0.00 99.41


Average:

all 0.34 0.00 0.16 0.05 0.00 99.45

O resultado é explicado da seguinte maneira:

  1. %user列显示了用户进程消耗的CPU 时间百分比。

  2. %nice列显示了运行正常进程所消耗的CPU 时间百分比。

  3. %system列显示了系统进程消耗的CPU时间百分比。

  4. %iowait列显示了IO等待所占用的CPU时间百分比

  5. %steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作 。

  6. %idle列显示了CPU处在空闲状态的时间百分比。

  7. 问题

Você já encontrou o fenômeno de que a utilização geral da CPU do sistema não é alta e o aplicativo é lento?

Em um sistema multi-CPU, se o programa usar um único thread, haverá tal fenômeno. A taxa geral de utilização da CPU não é alta, mas o aplicativo do sistema responde lentamente. Isso pode ser devido ao único thread sendo usado pelo Usar uma CPU faz com que a taxa de ocupação da CPU seja de 100%, incapaz de processar outras solicitações, enquanto outras CPUs estão ociosas, o que leva ao baixo uso geral da CPU e aplicativos lentos.

2.3.1 Avaliação de desempenho de memória

1. Use o comando free para monitorar a memória

free é o comando mais comumente usado para monitorar o uso de memória do Linux; consulte a seguinte saída:

[root@webserver ~]# free -m


total

used freeshared

buffers cached


Mem:

8111 7185 926 0 243 6299


-/+

buffers/cache:

643 7468


Swap:

8189 0 8189

Fórmula empírica:

  1. 应用程序可用内存/系统物理内存>70%,表示系统内存资源非常充足,不影响系统性能;

  2. 应用程序可用内存/系统物理内存<20%,表示系统内存资源紧缺,需要增加系统内存;

  3. 20%<应用程序可用内存/系统物理内存<70%,表示系统内存资源基本能满足应用需求,暂时不影响系统性能

2. Use o comando vmstat para monitorar a memória

[root@node1

~]#

vmstat 2 3


procs

———–memory———- —swap– —–io—- –system– —–cpu——


r b swpd freebuff cache si so bi bo incs us sy idwa st


0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0


0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0


0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0

memória

  1. swpd--切换到内存交换区的内存数量(k为单位)。如swpd值偶尔非0,不影响系统性能

  2. free--当前空闲的物理内存数量(k为单位)

  3. buff--buffers cache的内存数量,一般对块设备的读写才需要缓冲

  4. cache--page cached的内存数量

Geralmente, como um sistema de arquivos em cache, os arquivos acessados ​​com frequência serão armazenados em cache. Se o valor do cache for maior, significa que há mais arquivos no cache. Se o bi em IO for menor neste momento, significa que a eficiência de o sistema de arquivos é melhor.

troca

  1. si--由磁盘调入内存,也就是内存进入内存交换区的数量。

  2. so--由内存调入磁盘,也就是内存交换区进入内存的数量。

Os valores de si e portanto não são 0 por muito tempo, indicando que a memória do sistema é insuficiente. Precisa aumentar a memória do sistema.

2.4.1 Avaliação de desempenho de E / S de disco

1. Noções básicas de armazenamento em disco

Arquivos ou dados acessados ​​com frequência usam leitura e gravação de memória em vez de E / S direta de disco tanto quanto possível , o que é mil vezes mais eficiente.

Separe os arquivos frequentemente lidos e gravados dos arquivos inalterados de longo prazo e coloque-os em diferentes dispositivos de disco.

Para dados que são gravados com frequência, você pode considerar o uso de dispositivos brutos em vez de sistemas de arquivos.

Vantagens do equipamento básico:

  1. 数据可直接读写,不需经过操作系统级缓存,节省内存资源,避免内存资源争用;

  2. 避免文件系统级维护开销,如文件系统需维护超级块、I-node等;

  3. 避免了操作系统cache预读功能,减少了I/O请求

As desvantagens de usar equipamento bruto são:

O gerenciamento de dados e o gerenciamento de espaço não são flexíveis e requerem pessoal muito profissional para operar.

2. Use iostat para avaliar o desempenho do disco

[root@webserver ~]# iostat -d 2 3

Linux

2.6.9-42.ELsmp (webserver) 12/01/2008_i686_

(8 CPU)

Device:

tps Blk_read/sBlk_wrtn/sBlk_read

Blk_wrtn

sda 1.87 2.58 114.12 6479462 286537372

Device:

tps Blk_read/sBlk_wrtn/sBlk_read

Blk_wrtn

sda

0.00 0.00 0.00 0 0

Device:

tps Blk_read/sBlk_wrtn/sBlk_read

Blk_wrtn

sda

1.00 0.00 12.00 0 24

A explicação é a seguinte:

  1. Blk_read/s--每秒读取数据块数

  2. Blk_wrtn/s--每秒写入数据块数

  3. Blk_read--读取的所有块数

  4. Blk_wrtn--写入的所有块数

Você pode obter uma compreensão básica do desempenho de leitura e gravação do disco por meio dos valores de Blk_read / s e Blk_wrtn / s.
Se o valor de Blk_wrtn / s for grande, isso significa que as operações de gravação de disco são frequentes. Considere otimizar o disco ou programa
. Indica que há muitas operações diretas de leitura do disco e os dados lidos podem ser colocados na memória

As regras são as seguintes:

A leitura e gravação de dados grandes em longo prazo são definitivamente anormais e esta situação afetará definitivamente o desempenho do sistema.

3. Use sar para avaliar o desempenho do disco

Através da combinação "sar -d", você pode fazer uma estatística básica no disco IO do sistema. Veja a seguinte saída:

[root@webserver ~]# sar -d 2 3


Linux

2.6.9-42.ELsmp (webserver) 11/30/2008_i686_

(8 CPU)


11:09:33

PM DEV tps rd_sec/swr_sec/savgrq-sz

avgqu-sz await svctm %util


11:09:35

PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00


11:09:35

PM DEV tps rd_sec/swr_sec/savgrq-sz

avgqu-sz await svctm %util


11:09:37

PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00


11:09:37

PM DEV tps rd_sec/swr_sec/savgrq-sz

avgqu-sz await svctm %util


11:09:39

PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05


Average:

DEV tps rd_sec/swr_sec/savgrq-sz

avgqu-sz await svctm %util


Average:

dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02

Significado do parâmetro:

  1. await--平均每次设备I/O操作等待时间(毫秒)

  2. svctm--平均每次设备I/O操作的服务时间(毫秒)

  3. %util--一秒中有百分之几的时间用于I/O操作

Critérios para avaliar o desempenho IO do disco:

O svctm normal deve ser menor que o valor de await e o svctm está relacionado ao desempenho do disco. A carga da CPU e da memória também afetará o valor de svctm. Solicitações excessivas também aumentarão indiretamente o valor de svctm.

  1. await值取决svctm和I/O队列长度以及I/O请求模式,

  2. 如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,

  3. 如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,

  4. 此时可以通过更换更快的硬盘来解决问题。

% util - indicadores importantes para medir E / S de disco,

Se% util estiver próximo de 100%, significa que o disco gera muitas solicitações de E / S e o sistema de E / S já está funcionando com capacidade total e o disco pode ter um gargalo.

O programa pode ser otimizado ou substituindo um disco superior e mais rápido.

2.5.1. Avaliação de desempenho da rede

  1. (1)通过ping命令检测网络的连通性

  2. (2)通过netstat –i组合检测网络接口状况

  3. (3)通过netstat –r组合检测系统的路由表信息

  4. (4)通过sar –n组合显示系统的网络运行状态

Ajuste de desempenho de três servidores Linux

1. Ajuste o algoritmo de elevador do kernel Linux para E / S de disco

Depois de selecionar o sistema de arquivos, o algoritmo pode equilibrar os requisitos de baixa latência, coletar dados suficientes e organizar com eficácia as solicitações de leitura e gravação de disco.

2. Desative daemons desnecessários para economizar memória e recursos da CPU

  1. 许多守护进程或服务通常非必需,消耗宝贵内存和CPU时间。将服务器置于险地。

  2. 禁用可加快启动时间,释放内存。

  3.  
  4. 减少CPU要处理的进程数

Alguns daemons do Linux que devem ser desativados são executados automaticamente por padrão:

Descrição do daemon de número de série
1 Daemon de gerenciamento de energia avançado Apmd
2 Nfslock para bloqueio de arquivo NFS
3 Suporte a ISDN ISDN Moderm
4 Autofs monta automaticamente o sistema de arquivos em segundo plano (como automaticamente monta CD-ROM)
5 Agente de transferência de email Sendmail
6 Xfs X Window Font servidor

3. GUI relacionada

4. Limpe módulos ou funções desnecessários

Muitas funções ou módulos ativados no pacote de software do servidor não são realmente necessários (como muitos módulos funcionais no Apache). Desativá-los ajudará a aumentar a quantidade de memória do sistema disponível, liberar recursos para os softwares que realmente precisam deles e permitir Eles correm mais rápido.

5. Desative o painel de controle

No Linux, existem muitos painéis de controle populares, como Cpanel, Plesk, Webmin e phpMyAdmin. Desativá-los libera cerca de 120 MB de memória e o uso de memória cai em cerca de 30-40%.

6. Melhore o desempenho do servidor Linux Exim

O uso do daemon de cache DNS pode reduzir a largura de banda e o tempo de CPU necessários para resolver os registros DNS. O cache DNS melhora o desempenho da rede eliminando a necessidade de pesquisar registros DNS do nó raiz todas as vezes.

Djbdns é um servidor DNS muito poderoso, possui função de cache DNS, Djbdns é mais seguro e tem melhor desempenho que o servidor DNS BIND, pode ser baixado diretamente através de http://cr.yp.to/, ou através do pacote de software fornecido por Red Hat obter.

7. Use AES256 para aumentar a segurança da criptografia de arquivo gpg

Para melhorar a segurança de arquivos de backup ou informações confidenciais, muitos administradores de sistema Linux usam gpg para criptografia. Ao usar gpg, é melhor especificar gpg para usar o algoritmo de criptografia AES256 e AES256 para usar uma chave de 256 bits. é um algoritmo de criptografia aberto. A National Security Agency (NSA) o usa para proteger as informações ultrassecretas.

8. Segurança do serviço de backup remoto

A segurança é o fator mais importante na escolha de um serviço de backup remoto.A maioria dos administradores de sistema tem medo de duas coisas: (hackers) podem excluir arquivos de backup e não podem restaurar o sistema a partir do backup.

Para garantir 100% de segurança dos arquivos de backup, a empresa de serviço de backup disponibiliza um servidor de backup remoto que utiliza script scp ou RSYNC para transferência de dados via SSH, de forma que ninguém possa entrar e acessar diretamente o sistema remoto, portanto, ninguém pode excluir dados do serviço de backup. Ao escolher um provedor de serviços de backup remoto, é melhor entender a robustez de seus serviços de vários aspectos; se possível, você mesmo pode testá-lo.

9. Atualize as configurações de parâmetro do kernel padrão

Para executar aplicativos corporativos sem problemas e com êxito, como servidores de banco de dados, algumas configurações de parâmetro de kernel padrão podem precisar ser atualizadas. Por exemplo, o parâmetro de fila de mensagens do kernel da série 2.4.x msgmni tem um valor padrão (por exemplo, memória compartilhada, ou shmmax em sistemas Red Hat O padrão acima é de apenas 33554432 bytes), o que permite apenas conexões simultâneas limitadas com o banco de dados. A seguir, alguns valores sugeridos para uma melhor operação do servidor de banco de dados (do site de suporte IBM DB2):

kernel.shmmax = 268435456 (32 位)
kernel.shmmax = 1073741824 (64 位)
kernel.msgmni = 1024
fs.file-max = 8192
kernel.sem = ”250 32000 32 1024 ″

10. Otimize o TCP

A otimização do protocolo TCP ajuda a aumentar a taxa de transferência da rede. Quanto maior a largura de banda usada para a comunicação entre WAN e maior o tempo de atraso, é recomendado usar um tamanho maior do TCP Linux para aumentar a taxa de transmissão de dados. O tamanho do TCP Linux determina o host de envio Quantos dados podem ser enviados ao host de recebimento quando a confirmação de transmissão de dados não é recebida.

11. Escolha o sistema de arquivos correto

Use o sistema de arquivos ext4 em vez de ext3

● Ext4 é uma versão aprimorada do sistema de arquivos ext3, que estende o limite de armazenamento

● Com função de registro para garantir alto nível de integridade de dados (no caso de desligamento anormal)

● Não é necessário verificar o disco durante o desligamento e reinicialização anormais (esta é uma ação que consome muito tempo)

● Velocidade de gravação mais rápida, ext4 log otimiza o movimento da cabeça do disco rígido

12. Use a opção de montagem do sistema de arquivos noatime

Use a opção noatime no arquivo de configuração de inicialização do sistema de arquivos fstab. Se o armazenamento externo for usado, esta opção de montagem pode melhorar efetivamente o desempenho.

13. Ajuste o limite do descritor de arquivo do Linux

O Linux limita o número de descritores de arquivo que podem ser abertos por qualquer processo. O limite padrão é 1024 por processo. Esses limites podem impedir que os clientes de benchmark (como httperf e apachebench) e o próprio servidor web alcancem o melhor desempenho. Apache usa um para cada conexão. Os processos, portanto, não são afetados, mas os servidores da Web de processo único, como o Zeus, usam um descritor de arquivo por conexão, de modo que são facilmente afetados pelas restrições padrão.

O limite de arquivo aberto é um limite que pode ser ajustado com o comando ulimit. O comando ulimit -aS mostra o limite atual e o comando ulimit -aH mostra o limite rígido (você não pode aumentar o limite antes de ajustar os parâmetros do kernel em / proc )

Habilidades de desempenho de aplicativos de terceiros Linux

Para aplicativos de terceiros em execução no Linux, também existem muitas técnicas de otimização de desempenho que podem ajudá-lo a melhorar o desempenho dos servidores Linux e reduzir os custos operacionais.

14. Configure o MySQL corretamente

Para alocar mais memória ao MySQL, você pode definir o tamanho do cache do MySQL. Se a instância do servidor MySQL usar mais memória, reduza o tamanho do cache. Se o MySQL ficar estagnado quando as solicitações aumentarem, aumente o cache do MySQL.

15. Configure o Apache corretamente

Verifique a quantidade de memória que o Apache usa e, em seguida, ajuste os parâmetros StartServers e MinSpareServers para liberar mais memória, o que ajudará você a economizar 30-40% da memória.

16. Analise o desempenho do servidor Linux

A melhor maneira de melhorar a eficiência do sistema é encontrar o gargalo que faz com que a velocidade geral caia e resolvê-lo. Aqui estão algumas técnicas básicas para encontrar o principal gargalo do sistema:

● Quando grandes aplicativos, como OpenOffice e Firefox estão em execução ao mesmo tempo, o computador pode começar a ficar lento e a chance de memória insuficiente é maior.

● Se a inicialização for muito lenta, pode levar muito tempo para carregar o aplicativo pela primeira vez e ele será executado normalmente assim que for iniciado, caso contrário, o disco rígido provavelmente está muito lento.

● A carga da CPU continua alta e a memória é suficiente, mas a utilização da CPU está muito baixa. Você pode usar a ferramenta de análise de carga da CPU para monitorar o tempo de carregamento.

17. Aprenda 5 comandos de desempenho do Linux

Use alguns comandos para gerenciar o desempenho do sistema Linux. Os cinco comandos de desempenho do Linux mais comumente usados ​​estão listados abaixo, incluindo
top, vmstat, iostat, free e sar , que ajudam os administradores de sistema a resolver problemas de desempenho rapidamente.

(1) topo

A tarefa do serviço kernel atual também exibe estatísticas sobre o status de muitos hosts.Por padrão, ela é atualizada automaticamente a cada 5 segundos.
Por exemplo: tempo de atividade atual, carga do sistema, número de processos e uso de memória,

Além disso, este comando também exibe os processos que usam mais tempo da CPU (incluindo várias informações sobre cada processo, como usuários em execução, comandos executados, etc.).

(2) vmstat

O comando Vmstat fornece um instantâneo da CPU, IO, processo e uso de memória atuais. É semelhante ao comando top e atualiza dados automaticamente, como:

$ vmstat 10

(3) iostat

Iostat fornece três relatórios: utilização da CPU, utilização do dispositivo e utilização do sistema de arquivos da rede.Estes três relatórios podem ser exibidos independentemente usando os parâmetros -c, -d e -h.

(4) grátis

Exibir estatísticas de memória principal e memória de espaço de troca. Especifique o parâmetro -t para exibir a memória total, especifique o parâmetro -b em bytes e use -m para usar megabytes como a unidade. Por padrão, kilobytes são a unidade.

O comando Free também pode usar o parâmetro -s mais um tempo de atraso (unidade: segundo) para funcionar continuamente, como:

$ grátis -s 5

(5) sar

Coletar, visualizar e registrar dados de desempenho. Este comando tem um histórico mais longo do que os comandos anteriores. Ele pode coletar e exibir dados por um período de tempo mais longo.

de outros

Aqui estão algumas dicas de desempenho categorizadas como outras:

18. Transfira os arquivos de registro para a memória

Quando uma máquina está funcionando, é melhor armazenar o log do sistema na memória e copiá-lo para o disco rígido quando o sistema estiver desligado. Quando você executa um laptop ou dispositivo móvel com o syslog habilitado, o ramlog pode Para ajudá-lo a aumentar a vida útil da bateria do sistema ou a unidade flash do dispositivo móvel, uma vantagem de usar ramlog é que você não precisa se preocupar com um daemon enviando uma mensagem para o syslog a cada 30 segundos. E a bateria está ruim.

19. Embale primeiro, depois escreva

Um espaço de tamanho fixo é dividido na memória para salvar o arquivo de log, o que significa que o disco rígido do laptop não precisa ser mantido em execução. Ele só roda quando um daemon precisa gravar o log. Observe que o espaço de memória usado por ramlog é consertado, caso contrário, a memória do sistema será usada rapidamente. Se o notebook usar uma unidade de estado sólido, 50-80 MB de memória podem ser alocados para ramlog. Ramlog pode reduzir muitos ciclos de gravação e aumentar significativamente a vida útil do Disco de Estado Sólido.

20, habilidades gerais de ajuste

Use conteúdo estático em vez de conteúdo dinâmico tanto quanto possível . Se você estiver gerando previsões do tempo ou outros dados que devem ser atualizados a cada 1 hora, é melhor escrever um programa que gere um arquivo estático a cada 1 hora em vez de permitir que os usuários executem um CGI gera relatórios dinamicamente.

Escolha a API mais rápida e adequada para aplicativos dinâmicos. CGI pode ser o mais fácil de programar, mas gerará um processo para cada solicitação. Normalmente, esse é um processo caro e desnecessário. FastCGI é a melhor escolha, e o mod_perl do Apache pode melhorar muito o desempenho do aplicativo.

Acho que você gosta

Origin blog.csdn.net/grl18840839630/article/details/112306339
Recomendado
Clasificación