2
0

benchmark_heavy.sh 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. echo "🚀 PizzaKV Heavy 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 Heavy Benchmark Tests..."
  16. echo ""
  17. # Test 1: Heavy Write Load - 1M records
  18. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  19. echo "Test 1: Heavy Write Load (1M records)"
  20. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  21. redis-benchmark -h localhost -p 8085 -t SET -n 1000000 -c 100 --threads 8 -r 1000000 -P 32 -d 256 --csv
  22. echo ""
  23. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  24. echo "Test 2: Heavy Read Load (1M reads)"
  25. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  26. redis-benchmark -h localhost -p 8085 -t GET -n 1000000 -c 100 --threads 8 -r 1000000 -P 32 --csv
  27. echo ""
  28. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  29. echo "Test 3: Mixed Workload (500k each)"
  30. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  31. redis-benchmark -h localhost -p 8085 -t SET,GET -n 500000 -c 100 --threads 8 -r 1000000 -P 32 --csv
  32. echo ""
  33. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  34. echo "Test 4: Large Values (10KB payloads)"
  35. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  36. redis-benchmark -h localhost -p 8085 -t SET -n 100000 -c 50 --threads 4 -r 100000 -P 16 -d 10240 --csv
  37. echo ""
  38. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  39. echo "Test 5: Extreme Concurrency (200 clients)"
  40. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  41. redis-benchmark -h localhost -p 8085 -t SET,GET -n 500000 -c 200 --threads 8 -r 500000 -P 16 --csv
  42. echo ""
  43. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  44. echo "Test 6: Low Latency (no pipelining)"
  45. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  46. redis-benchmark -h localhost -p 8085 -t GET -n 50000 -c 50 --threads 4 -r 1000000 -P 1 --csv
  47. echo ""
  48. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  49. echo "Test 7: DELETE Performance"
  50. echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  51. redis-benchmark -h localhost -p 8085 -t DEL -n 100000 -c 50 --threads 4 -r 1000000 -P 16 --csv
  52. echo ""
  53. echo "✅ Benchmark Complete!"
  54. echo ""
  55. echo "Checking persistence..."
  56. ls -lh .db
  57. echo ""
  58. echo "Shutting down server..."
  59. kill $SERVER_PID
  60. wait $SERVER_PID 2>/dev/null