Как избавиться от TCP или lighttpd буферизации 4 КБ на выводе CGI?

Я думаю, что Вы ищете "репликацию" и нет действительно никакой причины, что Ваша репликация не могла быть очень близко к живому, не оказывая основное влияние на производительность.

1
задан 19 August 2011 в 19:21
3 ответа

связать процесс lighttpd со следующими включенными функциями:

strace -f -tt -p PIDOFLIGHTTPD

Вы получите вывод, который показывает каждый системный вызов, сделанный lighttpd и CGI. Временная метка в микросекундах должна указывать, когда CGI возвращает данные, а когда lighttpd записывает их обратно клиенту. Это также даст ответ, если проблема связана с восходящим потоком (если вы видите, что lighttpd отправляет данные почти мгновенно и т. Д.).

1
ответ дан 3 December 2019 в 22:03

Когда я писал cgi на Perl, это был параметр, который мне приходилось включать в сценарий Perl. В Perl это было $ | = 1 . Вероятно, вам потребуется сделать аналогичный вариант на C. Вместо этого вы можете спросить Stack Overflow .

1
ответ дан 3 December 2019 в 22:03

Lighttpd буферизует вывод по умолчанию. Вам нужно server.stream-response-body = 1, как обсуждалось здесь. Официальные документы: https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_stream-response-bodyDetails

0
ответ дан 27 April 2020 в 02:55

Теги

Похожие вопросы