Перейти к содержанию

Устранение проблем 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

Это некритичная проблема, но большое количество таких ошибок может повлиять на производительность сервиса.

Для устранения проблемы:

  1. Перейдите в папку /usr/share/wallarm-tarantool/init.lua → к файлу box.cfg.

  2. Задайте параметру 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):

  1. Перейдите в папку /usr/share/wallarm-tarantool/init.lua → к файлу box.cfg.

  2. Увеличьте значение параметра net_msg_max, например:

    box.cfg {
        net_msg_max = 6000
    }
    

Чтобы не допустить перегрузки файберов, которая влияет на всю систему, параметр net_msg_max ограничивает число сообщений, которые могут обрабатывать файберы. Подробное описание параметра доступно в документации Tarantool.