benchmark_no_pipeline.sh 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. echo "🚀 PizzaKV No-Pipeline Benchmark Suite"
  3. echo "========================================"
  4. echo ""
  5. # Remove old db to start fresh
  6. echo "🗑️ Cleaning old data..."
  7. pkill pizzakv 2>/dev/null
  8. sleep 1
  9. rm -f .db
  10. echo "Starting fresh server..."
  11. ./pizzakv -redis &
  12. SERVER_PID=$!
  13. sleep 2
  14. echo ""
  15. echo "📊 Running No-Pipeline Benchmark Tests..."
  16. echo ""
  17. # Test 1: Small writes without pipelining
  18. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  19. echo "Test 1: Small Writes (100k, 256 bytes, P=1)"
  20. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  21. redis-benchmark -h localhost -p 8085 -t SET -n 100000 -c 50 --threads 4 -r 100000 -P 1 -d 256 --csv
  22. echo ""
  23. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  24. echo "Test 2: Small Reads (100k, P=1)"
  25. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  26. redis-benchmark -h localhost -p 8085 -t GET -n 100000 -c 50 --threads 4 -r 100000 -P 1 --csv
  27. echo ""
  28. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  29. echo "Test 3: Medium Writes (50k, 1KB, P=1)"
  30. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  31. redis-benchmark -h localhost -p 8085 -t SET -n 50000 -c 50 --threads 4 -r 50000 -P 1 -d 1024 --csv
  32. echo ""
  33. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  34. echo "Test 4: Medium Reads (50k, 1KB, P=1)"
  35. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  36. redis-benchmark -h localhost -p 8085 -t GET -n 50000 -c 50 --threads 4 -r 50000 -P 1 --csv
  37. echo ""
  38. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  39. echo "Test 5: Large Writes (10k, 10KB, P=1)"
  40. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  41. redis-benchmark -h localhost -p 8085 -t SET -n 10000 -c 25 --threads 2 -r 10000 -P 1 -d 10240 --csv
  42. echo ""
  43. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  44. echo "Test 6: Large Reads (10k, 10KB, P=1)"
  45. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  46. redis-benchmark -h localhost -p 8085 -t GET -n 10000 -c 25 --threads 2 -r 10000 -P 1 --csv
  47. echo ""
  48. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  49. echo "Test 7: Mixed Workload (50k each, P=1)"
  50. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  51. redis-benchmark -h localhost -p 8085 -t SET,GET -n 50000 -c 50 --threads 4 -r 100000 -P 1 --csv
  52. echo ""
  53. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  54. echo "Test 8: High Concurrency (100k, 100 clients, P=1)"
  55. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  56. redis-benchmark -h localhost -p 8085 -t GET -n 100000 -c 100 --threads 4 -r 100000 -P 1 --csv
  57. echo ""
  58. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  59. echo "Test 9: DELETE Performance (50k, P=1)"
  60. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  61. redis-benchmark -h localhost -p 8085 -t DEL -n 50000 -c 50 --threads 4 -r 100000 -P 1 --csv
  62. echo ""
  63. echo "✅ Benchmark Complete!"
  64. echo ""
  65. echo "Checking persistence..."
  66. ls -lh .db
  67. echo ""
  68. echo "Shutting down server..."
  69. kill $SERVER_PID
  70. wait $SERVER_PID 2>/dev/null