профилирование команды linux для получения метрик

Эта команда загрузит все файлы sql в текущей папке, выполнив 8 параллельно, и удалит каждый файл, если он загружается успешно:

find. -type f -name "*.sql" -print0 | xargs -0 -n1 -P8 sh -c 'cat $0 | mysql -A -u<redacted> -p<redacted> -h<redacted> dbname && rm $0'

(Я не утверждаю, что это лучший способ загрузки sql-файлов, но он решает проблему использования xargsдля массового импорта файлов)

1
03.03.2020, 06:40
2 ответа

Передача вывода gunzipинструменту профилирования не даст вам многого, потому что gunzipне выводит много информации о времени выполнения.

Однако вы можете использовать стандартные инструменты профилирования Linux, такие как perf. Ознакомьтесь с учебным пособием наhttps://perf.wiki.kernel.org/index.php/Tutorial

Например, вот статистика профиля для распаковки ~100-мегабайтного файла:

$ perf stat -B tar xJf ghc-8.0.2-x86_64-deb8-linux.tar.xz 

 Performance counter stats for 'tar xJf ghc-8.0.2-x86_64-deb8-linux.tar.xz':

      14959.293532      task-clock (msec)         #    0.737 CPUs utilized          
            340822      context-switches          #    0.023 M/sec                  
                 0      cpu-migrations            #    0.000 K/sec                  
              2401      page-faults               #    0.161 K/sec                  
   <not supported>      cycles                                                      
   <not supported>      instructions                                                
   <not supported>      branches                                                    
   <not supported>      branch-misses                                               

      20.299894777 seconds time elapsed

В зависимости от версии вашего ядра вывод может немного отличаться. Также обратите внимание, что perfне может быть скомпилирован для понимания всех событий, происходящих в вашем конкретном процессоре. Вот о чем сообщения <not supported>выше.

2
28.04.2021, 23:21

Узким местом, вероятно, будет чтение/запись, а не ЦП. В любом случае, время (1 )должно сказать.

0
28.04.2021, 23:21

Теги

Похожие вопросы