CP_AUTOMATION/scripts/5_PC_LOAD_TEST_COMMANDS.md
2025-12-16 17:43:41 +05:30

133 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 5 PC Load Test Commands - Complete Distribution
## 🎯 Overview
All 3 CSVs have 100 students each (300 total). Distributed across 5 PCs:
- **Each PC**: 20 students from CSV 1 + 20 from CSV 2 + 20 from CSV 3 = **60 students per PC**
- **Total**: 300 students across 5 PCs
- **Concurrent browsers**: 30 per PC (10 per CSV batch) = **150 total browsers**
---
## 📊 Distribution Plan
| PC | CSV 1 | CSV 2 | CSV 3 | Total Students | Workers |
|----|-------|-------|-------|----------------|---------|
| PC 1 | 0-19 (20) | 0-19 (20) | 0-19 (20) | 60 | 30 (10×3) |
| PC 2 | 20-39 (20) | 20-39 (20) | 20-39 (20) | 60 | 30 (10×3) |
| PC 3 | 40-59 (20) | 40-59 (20) | 40-59 (20) | 60 | 30 (10×3) |
| PC 4 | 60-79 (20) | 60-79 (20) | 60-79 (20) | 60 | 30 (10×3) |
| PC 5 | 80-99 (20) | 80-99 (20) | 80-99 (20) | 60 | 30 (10×3) |
| **Total** | **100** | **100** | **100** | **300** | **150** |
---
## 🚀 Complete Commands (Copy-Paste Ready)
### **PC 1 - 60 Students (20 from each CSV)**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 & wait
```
### **PC 2 - 60 Students (20 from each CSV)**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 20 --end 40 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 20 --end 40 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 20 --end 40 --workers 10 --headless --metrics-interval 5 & wait
```
### **PC 3 - 60 Students (20 from each CSV)**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 40 --end 60 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 40 --end 60 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 40 --end 60 --workers 10 --headless --metrics-interval 5 & wait
```
### **PC 4 - 60 Students (20 from each CSV)**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 60 --end 80 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 60 --end 80 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 60 --end 80 --workers 10 --headless --metrics-interval 5 & wait
```
### **PC 5 - 60 Students (20 from each CSV)**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 80 --end 100 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 80 --end 100 --workers 10 --headless --metrics-interval 5 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 80 --end 100 --workers 10 --headless --metrics-interval 5 & wait
```
---
## 📝 Using Shell Scripts (Recommended)
### **On PC 1:**
```bash
chmod +x scripts/PC1_60_students.sh
./scripts/PC1_60_students.sh
```
### **On PC 2:**
```bash
chmod +x scripts/PC2_60_students.sh
./scripts/PC2_60_students.sh
```
### **On PC 3:**
```bash
chmod +x scripts/PC3_60_students.sh
./scripts/PC3_60_students.sh
```
### **On PC 4:**
```bash
chmod +x scripts/PC4_60_students.sh
./scripts/PC4_60_students.sh
```
### **On PC 5:**
```bash
chmod +x scripts/PC5_60_students.sh
./scripts/PC5_60_students.sh
```
---
## 🌐 With Custom URL
Add `--url` to each command in the script, or modify the shell scripts:
**Example for PC 1 with custom URL:**
```bash
cd /home/tech4biz/work/CP_Front_Automation_Test && source venv/bin/activate && python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-49-08_01.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 --url http://localhost:3983 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T10-59-02_03.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 --url http://localhost:3983 & python3 tests/load_tests/test_generic_load_assessments.py --csv students_with_passwords_2025-12-15T11-06-37_05.csv --start 0 --end 20 --workers 10 --headless --metrics-interval 5 --url http://localhost:3983 & wait
```
---
## 📊 Summary
- **Total Students**: 300 (100 from each CSV)
- **Total PCs**: 5
- **Students per PC**: 60 (20 from each CSV)
- **Concurrent Browsers per PC**: 30 (10 per CSV batch)
- **Total Concurrent Browsers**: 150
- **Distribution**: Evenly distributed across all CSVs and PCs
---
## 🚀 Execution Steps
1. **On PC 1**: Run PC 1 command/script
2. **On PC 2**: Run PC 2 command/script
3. **On PC 3**: Run PC 3 command/script
4. **On PC 4**: Run PC 4 command/script
5. **On PC 5**: Run PC 5 command/script
6. **Monitor**: Each PC will run 3 parallel processes (one per CSV)
---
## 💡 Notes
- Each PC runs **3 parallel processes** (one for each CSV)
- Each process handles **20 students** with **10 workers**
- All processes run in **background** and wait for completion
- **Metrics** printed every 5 students per process
- **Reports** saved separately for each CSV batch
---
**Status**: ✅ Ready to Execute - 300 Students Across 5 PCs