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
Created attachment 7736 [details] strace сервера (dictd)