Я динамически генерирую графику в моем контроллере:
, если файл не существует (уникальное имя файла), затем генерирую графику и сохраняю ее
returnRedirectResponse ($ url)
(3. Я также пробовал:
$fp = fopen($url, "rb");
$str = stream_get_contents($fp);
fclose($fp);
$response = new Response($str, 200);
$response->headers->set('Content-Type', 'image/png');
return $response;
)
Мне нужно, чтобы он генерировал динамическое изображение дляпользователи [на этом рисунке часть текста будет автоматически обновляться, если на моих сайтах будут сделаны некоторые изменения].
Так что для меня важно, чтобы этот скрипт работал быстро и не убивал мой сервер / полосу переключения.Для этого я создал кеш, где хранится вся сгенерированная графика.Но у меня есть проблема со скоростью, решения, которые я описал выше, довольно медленные, когда я тестировал их в Chrome с помощью инструмента разработчика (F12), то это показывает, что оба решения (2. и 3.) принимаютоколо ~ 1 с (когда одна и та же графика [без контроллеров и т. д., просто прямая ссылка на .png] загружает 44 мс).
Так что, если только у меня это занимает около 1 с на графике, то если, например, 1000 пользователей одновременно сгенерируют эту графику, это может замедлить мой сайт.
Пожалуйста, помогите, сделайтеВы знаете более быстрые способы сделать это?
PS.Перенаправление не является для меня самой желанной вещью, потому что я предпочел бы оставить URL таким, какой он есть, например, smth / username / userbar / insted из smth / img / юзербары / cache / blabla.png.Но если это будет намного быстрее, тогда я смогу это выдержать:).
РЕДАКТИРОВАТЬ: Для ясности: я не ищу решение для кэширования изображений, моя проблема в том, что возврат изображений через контроллер (уже сгенерированные изображения, только из ftp) занимает около 1 с, когда обычно, если вы, например,
<img src="direct_url_to_png">
, это занимает около 44 мс.