Цель приложения - сгенерировать PDF-файл с помощью puppeteer, мы извлекаем данные, создаем HTML-шаблон, а затем с помощью Chrome Headless генерируем PDF, а затем возвращаем ссылку на вновь созданный PDF-файл.
Проблема заключается в том, что для генерации pdf требуется около 7000 мс, в основном из-за трех функций кукловода: запуск (запуск безголового обозревателя), goto (переход к шаблону html) и pdf (генерирование pdf).
Таким образом, имея около 7 ~ 8 секунд для ответа на один запрос, с большим количеством входящих запросов или внезапным всплеском, для 30 одновременных запросов может потребоваться около 40–50 секунд, что я считаю неприемлемым.
После большого количества времени, потраченного на исследования, я реализую модуль кластера, чтобы использовать преимущества нескольких процессов.
Но кроме кластеризации, есть ли другие возможные варианты для оптимизации времени на одном экземпляре?