복붙노트

[REDIS] 레디 스-CLI에서 쿼리 타이밍?

REDIS

레디 스-CLI에서 쿼리 타이밍?

이것은 사소한한다고 것 같아,하지만 난 레디 스-CLI를 통해 쿼리를 실행하려면, 다음 그냥 결과와 함께, 서버에 걸리는 시간을 다시 얻을. 이것은 단지 내 클라이언트 라이브러리 또는 대기 시간 문제에서 요인, 디버깅 목적을위한 것입니다. 이 작업을 수행 할 수있는 방법이 있나요?

해결법

  1. ==============================

    1.당신은 레디 스 당신이 TIME 명령은 명령 후 직전과 오른쪽 사용되는 MULTI / EXEC 블록에 조사하고 명령을 포장하여이 작업을 수행 할 수 있습니다. 예를 들면 :

    당신은 레디 스 당신이 TIME 명령은 명령 후 직전과 오른쪽 사용되는 MULTI / EXEC 블록에 조사하고 명령을 포장하여이 작업을 수행 할 수 있습니다. 예를 들면 :

    노드 라이브러리를 사용하여 :

    var multi = redis.multi();
    multi.time(); // start time
    multi.sunionstore(['fast_food_joints', 'pizza_hut', 'taco_bell']); // this is the command I'm investigating
    multi.time(); // end time
    multi.exec(function(err, responses){
        var response = responses[1]; // the response i care about
        var start = (parseInt(responses[0][0]) * 1000) + (parseInt(responses[0][1]) / 1000);
        var end   = (parseInt(responses[2][0]) * 1000) + (parseInt(responses[2][1]) / 1000);            
        var execution_time = end - start; // in milliseconds
    });
    

    또는 (당신이 당신의 문제에 대해 무엇을 요구입니다) 명령 줄을 사용하여 :

    192.168.1.1:6379> MULTI
    OK
    192.168.1.1:6379> TIME
    QUEUED
    192.168.1.1:6379> SUNIONSTORE fast_food_joints pizza_hut taco_bell
    QUEUED
    192.168.1.1:6379> TIME
    QUEUED
    192.168.1.1:6379> EXEC
    1) 1) "1450818240"
       2) "666636"
    2) (integer) 48886
    3) 1) "1450818240"
       2) "666639"
    

    그리고 수학 자신을. 위의 예는 3 마이크로했다.

  2. ==============================

    2.당신은 0 (영)으로 느린 로그를 설정할 수 있습니다. 이렇게하면 모든 명령을 기록합니다.

    당신은 0 (영)으로 느린 로그를 설정할 수 있습니다. 이렇게하면 모든 명령을 기록합니다.

    당신이 볼 시간은 문서에서이 시간 수단 마이크로, 그리고 :

    네트워크 성능 요소에 당신은 당신의 도서관이 할 수있는 어트 변환을 떠나기 바로 전에 레디 스와 통신 후 로그인, 클라이언트 라이브러리를 해킹해야 할 수도 있습니다.

  3. from https://stackoverflow.com/questions/18134167/timing-queries-in-redis-cli by cc-by-sa and MIT license