@makar04

Как оптимизировать страницу с большим количеством записей получаемых по API или в результате парсинга?

Доброго времени суток! Есть закрытая система, которая подгружает данные поставщиков, записывает их в js объект и выводит их сразу на html страницу без записи в базу данных, так как требуется самая актуальная информация об этих данных, в любой момент поставщик может изменить стоимость, пометить товар на возврат. JS объект используется для поиска товара на странице.
У одних поставщиков данные загружаются по api, у других парсятся сайты, третьи выгружают инфу к нам в базу.
После получения данных для каждого поставщика создаётся кэш и удаляется только в тот момент когда с каким либо товаром была совершена операция, а при открытии карточки товара данные берутся самые актуальные с сайта поставщика. Повторная загрузка страницы занимает намного меньше времени, т. к. данные кэшированы и если и обновляются то максимум для 1 - 2 поставщиков, а вот первоначальная генерация страницы на данный момент для 3х поставщиков занимает около 2-4 секунд при том что загружается около 200 товаров. В идеале, таких поставщиков будет штук 10-15 и у каждого по 50 - 150 товаров, тоесть в среднем на страницу будет загружаться около 1000 - 1500 товаров для каждого пользователя.
На текущий момент, системой одновременно пользуются около 6 пользователей, но их количество будет расти вот и решил заранее подготовится к более высокой нагрузке.
Запись в базу данных не использую, так как например товар может быть отправлен к нам, а после того как мы его принимаем он сразу же отменяется и помечается на возврат поставщику и не попадает на страницу с товаром который готов к продаже или может быть в любой момент затребован поставщиком к вовзрату, также в любой момент может быть изменена стоимость или описание товара.
Подскажите, может кто сталкивался с таким способом работы или есть какие либо идеи для оптимизации системы?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
xISRAPILx
@xISRAPILx
Java, JavaFX, PHP :S
Вот несколько вариантов:
  • 1000-1500 товаров на страницу - это много, достаточно 30-50 максимум.
  • Загружать данные ajax'ом асинхронно по мере прогрузки страницы.
  • Грузить все данные в свою базу и сделать отдельный скрипт, который будет мониторить изменения и обновлять данные.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YLab Тольятти
от 80 000 до 120 000 руб.
FUELUP Москва
от 100 000 до 150 000 руб.
21 авг. 2019, в 00:43
500 руб./за проект
21 авг. 2019, в 00:14
1000 руб./за проект