у меня есть приложение которое обращается к tarantool и запускает разные процедуры. Tarantool периодически отъедает 100% CPU (одного ядра). Хотелось бы понять какие вызовы процедур являются не оптимальными (долгими).
Я по lj_str_new в perf top видел, что много rehashing’а в луашных таблицах (но искать, где именно, пришлось руками). Еще луаджитовый профайлер может дать наводки (но рехешинг он не учитывает, как я понял): jp = require('jit.p') jp.start('f', '/tmp/foo.txt') … give workload … jp.stop() Я после прогона аккуратно завершал тарантул, чтобы файл записался.
Обсуждают сегодня