Используйте JMeter для тестирования tcp сервера nodejs - PullRequest
0 голосов
/ 12 января 2020

У меня есть nodejs сервер.

Я уже тестировал свой код tcp-клиента.

let net    = require('net');
let check  = true;
let client = new net.Socket();
client.connect(8090, '127.0.0.1',function(){
    console.log('Connected');
    //client.write('Hello, server!');
    console.log(client.remoteAddress);
});

client.on('data', function(data){
    console.log('Received: ' + data);
    console.log(client.remoteAddress);
    //
    //console.log(client.id);
    //client.id
    //client.destroy(); // kill client after server's response
});

client.on('connect', function(data){
    console.log('in connected');
    //console.log(client.remoteAddress);
    let obj = {};
    let firstInDate = new Date();
    let firstMilisecond = firstInDate.getTime();
    let firstMs = firstInDate.getUTCMilliseconds();
    obj.firstMilisecond = firstMilisecond;
    obj.firstMs = firstMs;
    console.log("Start get data");
    for (let i = 0; i < 5000; i++) {
        if(check === true) {
            console.log(i + 1);
            //let timestamp = date.getTime();
            let date = new Date();
            let ms = date.getUTCMilliseconds();
            if (firstMilisecond < date.getTime() - 1000) {
                check = false;
                break;
            }
            //date.format("dd/MM/yyyy hh:mm:ss TT");
            //date += "" + ms;
            //dateFormat(date, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
            let dateFormat = date.toString();
            dateFormat += " " + ms + " ms";
            //let time = date.getTime();
            obj.dateFormat = dateFormat;
            //client.pipe('Alo');
            client.write(JSON.stringify(obj) + "\n");
        }
        else{
            break;
        }
    }
    //console.log(client.remoteAddress);
});

client.on('close', function(){
    //console.log(client.id);
    console.log('Connection closed!');
});

Я тестирую с этим клиентским кодом, и это нормально. После этого я хочу проверить производительность сервера, поэтому я пытаюсь протестировать с несколько потоков (как и многие клиенты) с запросом одновременно . Я нашел JMeter, но я не смог найти подходящую гильдию. Несколько потоков будут использовать скрипт моего клиента для тестирования. Я надеюсь, что JMeter сможет решить эту проблему (с tcp сервером, кодированным nodejs). Если нет, можете ли вы показать мне какой-нибудь инструмент, который может мне помочь? Спасибо

...