Привет, разработчики! Это мой первый пост на этой платформе! ?
Я хотел поделиться своим удивительным опытом работы с Express.js и SQL. Я начинающий разработчик и, работая над API для своего проекта, обрабатывал более 200 тысяч запросов API в день. Первоначально я настроил базу данных SQLite (~400 МБ) с API Express.js и использовал кеширование Node.js для ускорения работы.
Поначалу время ответа на запрос составляло около 200-300 мс, так как он включал несколько JOINов и поисков. Итак, я решил провести несколько экспериментов, чтобы посмотреть, смогу ли я улучшить производительность.
Вот что я сделал:
Результат удивил! После индексации некоторые из моих более сложных запросов, включающих несколько JOIN, выполнялись всего за 3–5 мс.
Ранее с кэшированием узлов:
После, только с индексами SQLite:
каждый запрос занимает всего 7-10 мс без какого-либо кэширования.
Теперь запросы выполняются стабильно быстро, а также это снизило нагрузку на сервер! Первоначально я запускал свое приложение на дроплете DigitalOcean с 4 ГБ ОЗУ и 4 виртуальными процессорами. Но после оптимизации SQL-запросов я могу с легкостью справиться с той же рабочей нагрузкой, используя всего 2 ГБ ОЗУ и 2 виртуальных ЦП.
Я знаю, что это может показаться простым, но правильная индексация SQL настолько сильно изменила производительность запросов, что мне больше не нужно полагаться на кеширование. ?
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3