41
вычислениями. С учетом того, что рассматривался достаточно сжатый
период времени и работа приложения через обратный прокси-сервер еще
находится на этапе тестирования, разница может стать значительно больше.
Можно сделать вывод, что обдуманное применение кэширования там,
где это востребовано, способно значительно повысить быстродействие
приложения без вмешательства в его код и архитектуру.
2.3.2. Анализ нагрузки на бек-энд
Для того чтобы измерить нагрузку на Apache необходимо посчитать
количество запросов, обслуживание которых nginx взял на себя. Из
статистики предыдущего раздела видно, что запросов к статическим файлам
точно не попало на бек-энд. Соответственно, для их обслуживания не
выделялась память, не устанавливалось соединение, вообще не
производилось ни каких операций на бек-энде.
Также стоит отметить, что благодаря обслуживанию почти всех
запросов GET (кроме страницы ascetic и запросов на получение файлов,
которые после первого раза попадают в кэш), наличие блокировок таблиц БД
на чтение ни как не сказывается на запись информации в основную базу
данных на мастере запросами POST. Это значит, что не зависимо от того,
кто, что и в каком объеме сейчас читает (реально в системе есть отчеты,
способные на некоторое время заблокировать всю базу на время, достаточное
для получения таймаута при попытке к ней обратиться), информация будет
записана, а затем механизмом репликации передана на слейв-сервер.
2.3.3. Ошибки, через которые пришлось пройти
В этом разделе хотелось бы указать на ошибки, допущенные при
конфигурировании сервера.
Прежде всего, необходимо отметить, что кэширование динамических
страниц может разгрузить сервер но осложнить работу пользователю. Когда
для страниц задач было включено кэширование, пользователь мог написать