Как я могу управлять интерактивным приложением Unix программно через Perl?

Нет просто никакого способа знать, переживет ли Ваш веб-сайт большие нагрузки если Вы стресс-тест это. Используйте что-то как осада и посмотрите, где Ваши проблемы производительности заключаются. Это растет в памяти слишком быстро? Это начинает замедляться с набором параллельных соединений? Это начинает брать навсегда для доступа к базе данных?

, Как только Вы знаете, где проблемы производительности заключаются, тогда это становится вопросом избавления от них. К сожалению, трудно вдаваться в намного большее количество подробностей, чем это, не зная больше о Вашей конкретной ситуации, но иметь в виду, что Вы говорите об оптимизации здесь. Таким образом необходимо только действовать, когда Вы ЗНАЕТЕ, что существуют проблемы производительности.

И я утверждал бы, что Вы не обязательно просто готовитесь к событию, бывающему раз в жизни. DoS-атаки все еще происходят, таким образом, хорошо иметь в распоряжении приготовления, даже если Ваш сайт не получает slashdotted.

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

7
задан brian d foy 24 September 2009 в 16:40
поделиться

3 ответа

Я бы определенно остановился на Perl для дополнительной гибкости, поскольку это подсказывает хаос. Знаете ли вы о Perl-модуле Expect ? Это намного лучше, чем подход именованного канала.

Обратите внимание также на именованные каналы, вы можете ' t принудительно не буферизовать выходные данные, возвращаемые вашим устаревшим приложением, что может раздражать. Я думаю, что Expect.pm использует псевдо-tty, чтобы обойти эту проблему, но я не уверен. См. Обсуждение в perlipc в разделе «Двунаправленная связь с другим процессом» для более подробной информации.

12
ответ дан 6 December 2019 в 09:20
поделиться

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

4
ответ дан 6 December 2019 в 09:20
поделиться

Expect, с реализацией Tcl или Perl s, будет моей первой попыткой. Если вы видите нечетные последовательности в выходных данных, потому что они выполняют странные терминальные действия, просто отфильтруйте их из выходных данных, прежде чем выполнять сопоставление.

С именованными каналами вы все равно собираетесь изобретать Expect заново.

4
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

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