Como se determina quando um processo ou máquina é vinculado a E / S?

4

Eu tenho um processo node.js que grava em muitos bancos de dados sqlite diferentes. O Sqlite pode manipular apenas uma gravação simultânea por banco de dados, o que é bom, pois haverá apenas uma gravação por banco de dados por vez, mas grava em vários bancos de dados diferentes ao mesmo tempo.

Como determino onde um gargalo de gravação no sistema é: 1. O SO (Debian Wheezy) 2. O SSD 3. Node.js

Suponho que o sqlite não será o gargalo, pois não haverá gravações simultâneas por banco de dados, mas gravações ocorrendo em diferentes bancos de dados simultaneamente.

EDIT: Estou tentando determinar o fator delimitador para que eu possa decidir quando escalar para uma nova caixa ou adicionar mais processos node.js, etc.

    
por Kaizer Sozay 09.03.2015 / 08:22

2 respostas

3

O comando sar oferece todos os tipos de atividade útil do sistema. Por exemplo, para uso geral da CPU:

sar -u 2 10

mostra (note - este não é um sistema debian, mas deve ser similar):

09:31:55 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle
09:31:57 AM       all      1.71      0.00      1.14      0.00      0.00     97.14
09:31:59 AM       all      1.00      0.00      0.50      0.00      0.00     98.51

O tempo de espera de E / S é exibido. O valor system também será afetado por E / S devido ao uso da CPU necessário para processar solicitações, mas o tempo de iowait indica atrasos atribuídos ao dispositivo.

Para uso do disco:

sar -d 2 110

dá:

09:33:03 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:33:05 AM    dev8-0     11.06      0.00    112.56     10.18      0.02      1.59      0.45      0.50
09:33:05 AM    dev8-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Assim, o tempo de espera (aguardar) pode ser interessante para determinar se o sistema está limitado por E / S.

    
por 09.03.2015 / 09:36
1

Tente criar um perfil para seu aplicativo com iotop .

 sudo apt-get install iotop
 sudo iotop
    
por 09.03.2015 / 09:07