O uso de um SSD pode acelerar “grep”?

1

Eu preciso usar grep para analisar um arquivo de 50GB e é muito lento no meu servidor.

Gostaria de saber se será mais rápido se eu substituir o disco do meu servidor por SSD? Vale a pena a atualização?

Obrigado.

Editado:

Isso é o que recebi de iostat , como ver a velocidade de I / O?

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
loop7             0,00         0,00         0,00          0          0
loop6             0,00         0,00         0,00          0          0
loop5             0,00         0,00         0,00          0          0
loop4             0,00         0,00         0,00          0          0
loop3             0,00         0,00         0,00          0          0
loop2             0,00         0,00         0,00          0          0
loop1             0,00         0,00         0,00          0          0
loop0             0,00         0,00         0,00          0          0
cciss!c0d0      652,87       399,77      3568,25  120296073 1073741823
    
por brest1007 27.08.2015 / 14:52

1 resposta

3

Sim, e se você quiser grep REALMENTE rápido, você pode fazer um disco RAM enorme. Mas você também pode grep com mais eficiência:

1) Se você estiver procurando por uma string fixa, use 'fgrep' em vez de 'grep'.

2) inicie seu comando assim, a menos que seja um arquivo UTF8:

LC_ALL=C fgrep 'somestring' hugefile.log

link

É notável como é mais rápido.

Se isso não ajudar e você tiver tópicos gratuitos suficientes, tente isto:

Copie seu arquivo em um diretório separado, de modo que seja o único arquivo dessa pasta e execute este comando nesse diretório:

find . -type f -print0 | xargs -0 -P 4 grep 'somestring' > output.txt

O '-P 4' significa que irá iniciar 4 processos. Se você é verdadeiramente IO limitado isso não vai ajudar, mas então você tem certeza que um SSD vai ajudar.

    
por 27.08.2015 / 15:02

Tags