Назад |
Перейти на главную страницу
В чем разница между «статическими» и «динамическими» приложениями FastCGI с точки зрения производительности и стабильности?
Я хотел бы знать, что следует учитывать при выборе между настройкой приложения как статического или как динамического на сервере Apache 2, который использует mod_fastcgi. Это типичное приложение для создания отчетов, написанное на Perl с MySQL в качестве бэкэнда с довольно средним трафиком. Я буду рад услышать ваш опыт использования FastCGI в таком сценарии.
Ни один из них на самом деле не установил характеристики производительности или масштабируемости, оторванные от контекста вашего приложения и его среды. Что будет работать лучше, зависит от того, что у вас происходит.
Статический: установите количество процессов приложения, которые постоянно работают. В пользу этого можно привести следующие условия:
- Вы можете позволить себе иметь достаточное количество экземпляров приложения, постоянно висящих вокруг, чтобы быстро обслуживать столько трафика, сколько вы когда-либо получали, по какой-либо причине (машине не нужно больше ничего делать, вы никогда не получите столько трафика, у машины много лишних ресурсов, что там у вас).
- Экземпляр процесса приложения требует значительного времени запуска, и он будет раздражать ваших пользователей.
- Этому приложению необходимо, чтобы на машине всегда была определенная доля ресурсов, используемых этим приложением, чтобы другие задания могли выполняться без чрезмерного вмешательства.
Динамический: переменное количество процессов приложения, которые запускаются по запросу и завершаются, когда не используются. В пользу этого можно привести следующие условия:
- Ваш трафик очень резкий (самоподобный), поэтому важно иметь возможность запускать больше процессов приложения для его обработки.
- Экземпляр процесса приложения запускается очень быстро, поэтому он не причинит большого вреда, если его нужно создать для обработки запроса.
- Машине нужны свои ресурсы для других целей, поэтому приятно высвободить их, когда это возможно, но можно впитать их много для этого приложения, когда у него большой трафик.