Bisakah menggunakan SSD mempercepat "grep"?

1

Saya perlu menggunakan grepuntuk mem-parsing file 50GB, dan itu sangat sangat lambat di server saya.

Saya ingin tahu apakah akan lebih cepat jika saya mengganti disk server saya dengan SSD? Apakah layak untuk ditingkatkan?

Terima kasih.

Diedit:

Ini yang saya dapat iostat, bagaimana cara melihat kecepatan 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
brest1007
sumber

Jawaban:

3

Ya, dan jika Anda ingin grep BENAR-BENAR cepat Anda dapat membuat RAMdisk besar. Tetapi Anda juga dapat melakukan grep dengan lebih efisien:

1) Jika Anda mencari string tetap, gunakan 'fgrep' alih-alih 'grep'.

2) mulai perintah Anda seperti ini kecuali itu file UTF8:

LC_ALL = C fgrep 'somestring' hugefile.log

https://stackoverflow.com/questions/13913014/grepping-a-huge-file-80gb-any-way-to-speed-it-up

Sungguh luar biasa seberapa cepat itu.

Jika itu tidak membantu dan Anda memiliki cukup utas gratis coba ini:

Salin file Anda di direktori terpisah sehingga itu satu-satunya file di folder itu dan jalankan perintah ini di direktori itu:

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

'-P 4' berarti akan memulai 4 proses. Jika Anda benar-benar terbatas IO ini tidak akan membantu tetapi Anda yakin SSD akan membantu.

HoD
sumber
Terima kasih, saya sudah menggunakan LC_ALL = C dan juga fgrep :) Masih butuh tiga hari untuk menyelesaikan parsing.
brest1007
Karena penasaran, kinerja apa yang Anda lihat dengan "iostat" ketika grep Anda berjalan?
HoD
Saya menambahkan iostat, bagaimana cara mengetahui kecepatan dari output ini?
brest1007
Aduh, itu "iostat -m" untuk menampilkan rMB & wMB yang dibaca dan ditulis spead dalam MB per detik
HoD
ok saya sudah melakukan itu
brest1007