Показать сообщение отдельно
  #1 (permalink)  
Старый 16.06.2019, 12:17
Аспирант
Отправить личное сообщение для yinfo Посмотреть профиль Найти все сообщения от yinfo
 
Регистрация: 30.04.2015
Сообщений: 43

Как правильно протестировать скорость Node+Postgres
Использую 'pg-native' и синхронный метод querySync.

Я понимаю, что в реальном приложении используются асинхронные запросы. Тут применяю querySync только для тестирования.

function testPostgres(){
    const moment = require('moment-timezone')
    const Client = require('pg-native')
    const client = new Client()
    client.connect('postgres://postgres:postgres@host:5432/postgres', function(err) {
        if(err) throw err

        const moment1 = moment()
        for (let i = 0; i < 1000; i++) {
            let rows = client.querySync('update json_test set data = data || \'{"SkillChance": 1}\', count =count+1 where id =$1',[1])

        }
        const moment2 = moment()
        const diff = moment2.diff(moment1, 'seconds')
        console.log(diff) //
        
    }) 
}



Результат удручает - 1000 записей апдейтятся за 14 секунд. Что я не так делаю?

База пустая - 1 таблица с 1 строкой.

PS аналогичный тест Node+MongoDB отрабатывает за 1 секунду.
Но руководство хочет переходить на Postgres.
И если я не докажу, что связка Node+Postgres работает быстро, меня уволят ))

Последний раз редактировалось yinfo, 16.06.2019 в 12:32.
Ответить с цитированием