Устранение проблем Tarantool¶
Секции ниже описывают частые проблемы в работе Tarantool и способы их устранения.
Как устранить проблему вида "readahead limit reached"?¶
В файле /var/log/wallarm/tarantool.log
вы можете встретить ошибки вида:
readahead limit reached, stopping input on connection fd 16,
aka 127.0.0.1:3313, peer of 127.0.0.1:53218
Это некритичная проблема, но большое количество таких ошибок может повлиять на производительность сервиса.
Для устранения проблемы:
-
Перейдите в папку
/usr/share/wallarm-tarantool/init.lua
→ к файлуbox.cfg
. -
Задайте параметру
readahead
одно из значений:readahead = 1*1024*1024
readahead = 8*1024*1024
Параметр readahead
определяет размер буфера опережающего считывания, связанный с клиентским соединением. Чем больше буфер, тем больше памяти потребляет активное соединение и тем больше запросов можно считать из буфера операционной системы за отдельный системный вызов. Подробное описание параметра доступно в документации Tarantool.
Как устранить проблему вида "net_msg_max limit is reached"?¶
В файле /var/log/wallarm/tarantool.log
вы можете встретить ошибки вида:
2020-02-18 12:22:17.420 [26620] iproto iproto.cc:562 W> stopping input on connection fd 21,
aka 127.0.0.1:3313, peer of 127.0.0.1:44306, net_msg_max limit is reached
Для устранения проблемы увеличьте значение параметра net_msg_max
(значение по умолчанию 768
):
-
Перейдите в папку
/usr/share/wallarm-tarantool/init.lua
→ к файлуbox.cfg
. -
Увеличьте значение параметра
net_msg_max
, например:box.cfg { net_msg_max = 6000 }
Чтобы не допустить перегрузки файберов, которая влияет на всю систему, параметр net_msg_max
ограничивает число сообщений, которые могут обрабатывать файберы. Подробное описание параметра доступно в документации Tarantool.