ОКОЛО
В этой статье сравниваются различные методы доступа к информации базы данных со стороны клиента.
Код для следующего урока можно найти в Сравнение скоростей GitHub хранилище.
Ниже приведены пошаговые инструкции по созданию собственных тестов с использованием кода репозитория github, а также файла read me из репозитория.
Изучены три метода:
Способ 1: сокет
использование соединения через веб-сокет для непосредственного запроса к базе данных
Способ 2: сокет + API
использование соединения через веб-сокет для запроса данных через API
Метод 3: API
доступ к данным через API
ВВЕДЕНИЕ
Для сравнения, используя 3 вышеупомянутых метода, я использовал общий набор данных и запросов, которые будут получены из базы данных PostgreSQL.
Данные состоят из 1000 строк пользовательской информации из таблицы, которая была сгенерирована с использованием онлайн-генератора данных.
Общее время транзакции было конечной отметкой времени - начальной отметкой времени. Начальная временная метка была, когда клиент впервые инициировал действие (нажатие кнопки), а конечная временная метка была, когда данные были получены с сервера.
Код был настроен очень упрощенно. 4 кнопки: 1 кнопка для каждого метода, который отправит запрос на получение данных, и кнопка результата, которая сгенерирует объект в консоли, который будет отображать все данные (время начала (мс), время окончания (мс), общее время ( Миз)). Нажмите кнопку метода для каждой транзакции, которую вы хотите выполнить, и кнопку результата, когда вы будете удовлетворены количеством выполненных транзакций.
ТЕХНИЧЕСКИЙ СТЕК
Внешний интерфейс
socket.IO + JQuery + AJAX
Back End
socket.IO + Node.js + Express + axios + PostgreSQL
ИНСТРУКЦИИ
DB_HOST=localhost
DB_USER=yourusername
DB_PASS=yourpassword
DB_NAME=speedtest
DB_PORT=5432
npm install
чтобы получить необходимые пакеты.npm run db:reset
создать таблицу (пользователей) для базы данных и создать засеянные данныеnpm start
запустить серверПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ
Примечание: каждый из 3 методов был выполнен 20 раз. Результаты были получены, а затем статистический анализ был произведен с использованием Microsoft Excel.
Метод № 1 - Гнездо
Метод № 2 - Socket + API
Метод № 3 - API
ВРЕМЯ СДЕЛКИ (МИЛЛИСЕКОНДЫ)
В этой статье мы выполнили упрощенный поиск данных из базы данных PostgreSQL 3 различными способами.
Способ 1. Сокет-соединение напрямую получает данные с использованием SQL.
Способ 2. Сокет-соединение выполняет запрос API (axios) для извлечения данных.
Метод 3: Клиент напрямую выполняет запрос API (AJAX) для получения данных.
Метод 1 имел наименьшее среднее время для извлечения всех данных, в то время как метод 2 (который представлял собой комбинацию метода 1 и метода 3) имел наибольшее среднее время.
Я надеюсь, что вы сможете использовать информацию, взятую из этой статьи, и сможете применить ее для решения более сложных проблем.