Apache mod_perl по сравнению с mod_cgi: Как я решаю, чтобы использовать?

Относительно "A), Сколько хитов во вторую/минуту/час эти страницы добирается" - эта информация будет в журналах, и примерно любой синтаксический анализатор журнала и/или сеть, анализируя пакет статистики посмотрят на это для Вас. Общие СВОБОДНЫЕ / OSS перечислены здесь.

Для "B), Сколько времени это берет для обслуживания каждой страницы". - это может также быть включено в журналы при использовании пользовательского формата журнала хотя необходимо будет проверить документацию на аналитический инструмент журнала, Вы приняли решение видеть, поддерживает ли это эту дополнительную информацию. Будьте осторожны при использовании этого числа для выведения вещей без других фактов, создав резервную копию вывода, поскольку время будет, очевидно, затронуто другой нагрузкой на систему, а также нагрузкой, созданной отдельно.

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

Другая основная возможность является просто избытком действия, с которым Ваша машина не является высокой спецификацией достаточно для преодоления - необходимо видеть это, если это имеет место с помощью анализатора журнала Apache. Если Вы получаете внезапный избыток трафика, это может привести к дополнительным запускаемым процессам Apache и многим дополнительным запросам базы данных. В любом случае это может привести к большому действию ввода-вывода или из-за доступа к базе данных или свопинга, если дополнительные процессы продвигают машину мимо, что может поместиться в RAM. Стоило бы посмотреть на действие использования и подкачки памяти во время одного из занятых пятен, того, если Вы не можете поймать тот в то время, когда это происходит, оставляют некоторый вход на месте, таким образом, можно рассмотреть то, что произошло после факта. Я использую collectd для такого контроля (существуют другие опции вокруг с подобными функциями, если collectd не к Вашим вкусам), и а также параметрические усилители системы контроля как использование ЦП, ввод-вывод и memory+swap используют его, также имеет модули для входа определенного Apache и mySQL/postgres свойств, которые можно найти полезным. Вы заявляете, что у Вас уже есть диаграмма ввода-вывода, которая подразумевает, что решение как это уже установлено - Вы могли проверить для наблюдения то, что другие опции входа свойства, который имеет, конкретно если оно может различать ввод-вывод к разделам, где данные от ввода-вывода, вызванного действием подкачки.

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

3
задан 16 February 2011 в 16:35
1 ответ

Если это будет приложением жемчуга и сможет работать в любом режиме, то mod_perl будет более эффективным, потому что Apache не должен запускать интерпретатор жемчуга для каждого запроса. Нет действительно никакого позитивного аспекта к использованию CGI вместо этого.

3
ответ дан 3 December 2019 в 06:46

Теги

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