Медленное чтение файла кеша в php - PullRequest
1 голос
/ 15 марта 2012

У меня есть сценарий, который генерирует очень похожий на github-gist фрагмент кода с подсветкой кода.

Поскольку для визуализации длинных файлов выделение занимает немного времени, я сохраняю их как файлы кэша на сервере, и еслифайл кеша существует, я использую file_get_contents, чтобы захватить его и выплюнуть.

Я только что опубликовал один из моих более длинных фрагментов (около 257 Кбайт кода), и файлу кеша для загрузки требуется чуть более полной секунды.

Кажется, что для файла такого размера очень долго.Я только что проверил, и файлы размером 50 КБ занимают от 0,4 до 0,5 секунд.

Есть идеи, что может быть причиной такой медленной скорости чтения?

Ответы [ 3 ]

1 голос
/ 15 марта 2012

Вы пытались использовать readfile вместо file_get_contents? Это может дать вам лучшие результаты.

1 голос
/ 15 марта 2012

Вы можете попробовать использовать X-Sendfile. Он встроен в lighttpd и nginx или доступен как модуль для Apache .

По сути, вы просто просите веб-сервер предоставить пользовательский статический файл вместо загрузки его в память и последующей отправки.

1 голос
/ 15 марта 2012

Если можете, попробуйте использовать подсветку на стороне клиента. google-code-prettify выглядит хорошо для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...