Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Как правильно протестировать скорость Node+Postgres (https://javascript.ru/forum/node-js-io-js/77754-kak-pravilno-protestirovat-skorost-node-postgres.html)

yinfo 16.06.2019 12:17

Как правильно протестировать скорость 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 работает быстро, меня уволят ))


Часовой пояс GMT +3, время: 08:21.