Bug 35335 - тупит около 3х секунд при любом запросе
Summary: тупит около 3х секунд при любом запросе
Status: NEW
Alias: None
Product: Branch p8
Classification: Distributions
Component: dictd (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-03 14:42 MSK by Alexey Sheplyakov
Modified: 2018-09-03 14:44 MSK (History)
0 users

See Also:


Attachments
strace клиента (dict) (6.90 KB, application/gzip)
2018-09-03 14:42 MSK, Alexey Sheplyakov
no flags Details
strace сервера (dictd) (4.64 KB, application/gzip)
2018-09-03 14:44 MSK, Alexey Sheplyakov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2018-09-03 14:42:21 MSK
Created attachment 7735 [details]
strace клиента (dict)

Как воспоизвести:

sudo apt-get install -y dict dictd dict-mueller7-utf8
sudo systemctl enable dictd.service
sudo systemctl start dictd
dict acute

Ожидаемый результат: "почти сразу" (менее 300 миллисекунд) напечатан перевод слова.

Наблюдаемый результат: dict тупит почти 3 секунды на чтении из сокета.

Предполагаемая причина: в функции dictd_daemon [1], обрабатывающей клиентский запрос, пытается узнать имя клиентского хоста по его IP, что при отсутствии обратной dns записи занимает некоторое время... как раз те самые 3 секунды.

Предлагаемое решение: выпилить reverse resolve вместе с "авторизацией" по ip/hostname (бесполезна в современных сетях, и не нужна программе, которая в 99.9999% случаев слушает только 127.0.0.1)



[1] http://git.altlinux.org/gears/d/dictd.git?p=dictd.git;a=blob;f=dictd/daemon.c;h=7154a50f1aaa5ac846dd40bf7ee7222f13bde928;hb=c51ad70e5f3ce5f65da810154c6a0dba5f04106a#l1517
Comment 1 Alexey Sheplyakov 2018-09-03 14:44:34 MSK
Created attachment 7736 [details]
strace сервера (dictd)