Bird
Raised Fist0
Redisquery~20 mins

Slow log for performance analysis in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Redis Slow Log Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
1:30remaining
What does the Redis command SLOWLOG GET 3 return?
You run the command SLOWLOG GET 3 in Redis. What is the expected output?
Redis
SLOWLOG GET 3
AReturns an error because the argument '3' is invalid for SLOWLOG GET.
BReturns the total number of slow log entries stored in Redis.
CClears the last 3 slow log entries from the slow log.
DReturns the last 3 slow log entries with details like ID, timestamp, execution time, and command arguments.
Attempts:
2 left
💡 Hint
Think about what 'GET' means in the context of slow logs.
🧠 Conceptual
intermediate
1:30remaining
Why is the Redis slow log useful for performance analysis?
Choose the best reason why Redis slow log helps in analyzing performance issues.
AIt shows the total memory used by Redis at any moment.
BIt records commands that took longer than a configured threshold, helping identify slow operations.
CIt deletes keys that cause slowdowns to improve performance.
DIt automatically fixes slow commands by optimizing them.
Attempts:
2 left
💡 Hint
Think about what kind of information helps find slow commands.
📝 Syntax
advanced
1:30remaining
Which Redis command correctly resets the slow log?
You want to clear all entries in the Redis slow log. Which command will do this?
ASLOWLOG CLEAR
BSLOWLOG RESET
CSLOWLOG DELETE ALL
DSLOWLOG FLUSH
Attempts:
2 left
💡 Hint
Check the official Redis command for clearing slow logs.
❓ optimization
advanced
2:00remaining
How can you configure Redis to log only commands slower than 5 milliseconds?
Which command sets the slow log threshold to 5 milliseconds?
ACONFIG SET slowlog-log-slower-than 5
BCONFIG SET slowlog-threshold 5
CCONFIG SET slowlog-log-slower-than 5000
DCONFIG SET slowlog-threshold 5000
Attempts:
2 left
💡 Hint
The threshold is in microseconds, so 5 milliseconds equals 5000 microseconds.
🔧 Debug
expert
2:00remaining
What error occurs when running SLOWLOG GET -1 in Redis?
You run SLOWLOG GET -1 to get slow log entries. What happens?
ARaises an error: ERR invalid argument for SLOWLOG GET.
BReturns an empty list because negative count is invalid.
CReturns all slow log entries without error.
DReturns the last slow log entry only.
Attempts:
2 left
💡 Hint
Check if negative numbers are valid arguments for SLOWLOG GET.

Practice

(1/5)
1. What is the primary purpose of the Redis slow log?
easy
A. To clear the Redis cache automatically
B. To store all commands executed in Redis
C. To record commands that take longer than a set time to execute
D. To backup Redis data periodically

Solution

  1. Step 1: Understand what slow log tracks

    The slow log records commands that exceed a certain execution time threshold.
  2. Step 2: Differentiate from other Redis features

    It does not store all commands, clear cache, or backup data; it only logs slow commands.
  3. Final Answer:

    To record commands that take longer than a set time to execute -> Option C
  4. Quick Check:

    Slow log = records slow commands [OK]
Hint: Slow log tracks only slow commands, not all commands [OK]
Common Mistakes:
  • Thinking slow log stores all commands
  • Confusing slow log with cache clearing
  • Assuming slow log is for backups
2. Which Redis command correctly retrieves the slow log entries?
easy
A. SLOWLOG LIST
B. SLOWLOG FETCH
C. SLOWLOG SHOW
D. SLOWLOG GET

Solution

  1. Step 1: Recall the Redis slow log retrieval command

    The official command to get slow log entries is SLOWLOG GET.
  2. Step 2: Verify other options

    Commands like SLOWLOG FETCH, SLOWLOG SHOW, and SLOWLOG LIST do not exist in Redis.
  3. Final Answer:

    SLOWLOG GET -> Option D
  4. Quick Check:

    Retrieve slow log = SLOWLOG GET [OK]
Hint: Use SLOWLOG GET to view slow log entries [OK]
Common Mistakes:
  • Using non-existent commands like SLOWLOG FETCH
  • Confusing with LIST or SHOW commands
  • Misspelling the command
3. Given the following Redis commands executed in order:
SLOWLOG RESET
SLOWLOG LEN
SLOWLOG GET 2

What will be the output of SLOWLOG LEN immediately after the reset?
medium
A. 0
B. 2
C. An error message
D. The last 2 slow log entries

Solution

  1. Step 1: Understand SLOWLOG RESET effect

    The SLOWLOG RESET command clears all slow log entries, so the log becomes empty.
  2. Step 2: Check SLOWLOG LEN after reset

    Since the log is empty, SLOWLOG LEN returns 0, indicating no entries.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Reset clears log, length = 0 [OK]
Hint: Reset clears log; length after reset is zero [OK]
Common Mistakes:
  • Expecting old entries after reset
  • Confusing SLOWLOG LEN with SLOWLOG GET output
  • Thinking reset causes error
4. You run SLOWLOG GET but receive an empty list even though you expect slow commands. What is the most likely cause?
medium
A. The slow log threshold is set too high, so no commands qualify
B. The Redis server is down
C. You need to restart Redis to enable slow log
D. The slow log is full and cannot record more entries

Solution

  1. Step 1: Understand slow log threshold role

    Redis only logs commands slower than the configured threshold (default 10ms). If threshold is too high, no commands get logged.
  2. Step 2: Eliminate other causes

    Redis server down would cause connection errors, not empty logs. Restart is not needed to enable slow log. Slow log size is limited but overwrites old entries, so it won't be empty due to fullness.
  3. Final Answer:

    The slow log threshold is set too high, so no commands qualify -> Option A
  4. Quick Check:

    High threshold = no slow commands logged [OK]
Hint: Check slow log threshold if no entries appear [OK]
Common Mistakes:
  • Assuming Redis must restart to enable slow log
  • Thinking slow log fills up and stops logging
  • Confusing server down with empty slow log
5. You want to analyze slow commands that took longer than 50 milliseconds and keep only the last 5 entries. Which sequence of Redis commands achieves this?
hard
A. CONFIG SET slowlog-log-slower-than 50 SLOWLOG RESET SLOWLOG GET 5
B. CONFIG SET slowlog-max-len 5 CONFIG SET slowlog-log-slower-than 50000 SLOWLOG RESET SLOWLOG GET 5
C. CONFIG SET slowlog-log-slower-than 50000 SLOWLOG RESET SLOWLOG GET 5
D. CONFIG SET slowlog-max-len 5 CONFIG SET slowlog-log-slower-than 50 SLOWLOG RESET SLOWLOG GET 5

Solution

  1. Step 1: Set threshold to 50 milliseconds

    Redis uses microseconds, so 50 ms = 50000 μs. Use CONFIG SET slowlog-log-slower-than 50000. A and C correct; B and D use 50 μs (too low).
  2. Step 2: Limit slow log length to 5 entries

    Use CONFIG SET slowlog-max-len 5. Only A and D do this; B and C do not.
  3. Step 3: Reset slow log and get last 5 entries

    SLOWLOG RESET clears old entries; SLOWLOG GET 5 retrieves last 5. All options include this.
  4. Step 4: Choose correct option

    Only A sets both max-len to 5 and threshold to 50000 μs (50 ms).
  5. Final Answer:

    CONFIG SET slowlog-max-len 5 CONFIG SET slowlog-log-slower-than 50000 SLOWLOG RESET SLOWLOG GET 5 -> Option B
  6. Quick Check:

    Threshold 50ms = 50000μs, max len 5, reset, get 5 [OK]
Hint: Set threshold in microseconds and max length before reset [OK]
Common Mistakes:
  • Confusing milliseconds with microseconds in threshold
  • Not setting max length to limit entries
  • Forgetting to reset slow log before analysis
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard