Большинство посетителей не будут торчать для загрузки страницы - я думал, что демо было сломано, когда я впервые посетил сайт.Несколько идей:
JSON не является компактным форматом данных, поскольку имена тегов повторяются в каждом элементе данных.CSV / TSV намного лучше в этом отношении, так как заголовки появляются только один раз в верхней части файла.
С другой стороны, повторяющиеся данные хорошо сжимаются, поэтому вы можете настроитьваш сервер для сжатия ваших данных JSON (например, используя mod_deflate в Apache или сжатие в nginx ) и служите им как сжатый файл, который будет распакован браузером пользователя.Вы можете поэкспериментировать, чтобы выяснить, какая комбинация форматов файлов и сжатия работает лучше всего.
Нужно ли рассчитывать сводную статистику при каждой загрузке страницы?При работе с огромными наборами данных в прошлом сводные данные генерировались ежедневным заданием cron, поэтому пользователям не нужно было ждать выполнения запросов.Судя по отзывам пользователей и моему собственному опыту работы с пользователями, сводная статистика представляет лишь промежуточный интерес, и вы, скорее всего, потеряете больше пользователей, заставив их ждать загрузки интерфейса, чем не предоставив сводную статистику или отправив статистику, котораяочень немного устарел.
В зависимости от структуры вашего интерфейса / приложения может также иметь смысл разделить массивный файл на сегменты для каждой категории / типа материала и загрузитькатегории по требованию, вместо того, чтобы заставлять пользователя ждать загрузки всего лота.
Существует множество других способов улучшить время загрузки и (воспринимаемую) производительность страницы - например,свяжите ваши CSS и ваши JS-файлы и предоставьте им каждый файл;рассмотрите возможность использования спрайтов изображений, чтобы уменьшить количество отдельных запросов, которые делает страница;обслуживайте свои ресурсы по мере возможности;переместите загрузку JS из заголовка документа в конец HTML-страницы, чтобы она не блокировала загрузку содержимого страницы;загрузка ленивых библиотек JS по мере необходимости;и т. д.