Open bmtcril opened 2 months ago
Full log including queries and errors is attached here. perf_runs.log
Additional information:
Using the updated query performance script that takes a course id and filters to that course (the way these dashboards are intended to be used) we've got better numbers (using a "huge" load test course on the same dataset):
1. Problem Interactions
Superset time: 187.613377 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 160
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
2. Problem Results
Superset time: 187.319167 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 160
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
3. Learners with Passing Grade
Superset time: 1.707321 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 1
Filters: [{'column': 'course_key'}]
4. Cumulative Interactions
Superset time: 1.349912 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 5
Filters: [{'column': 'visited_on'}, {'column': 'course_key'}]
5. Evolution of engagement
Superset time: 1.24138 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 5
Filters: [{'column': 'visited_on'}, {'column': 'course_key'}]
6. Course Information
Superset time: 1.218131 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 1
Filters: [{'column': 'course_key'}]
7. Page views per section/subsection
Superset time: 0.913372 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 50
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
8. Subsection Summary
Superset time: 0.91096 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 27
Filters: [{'column': 'visited_on'}, {'column': 'course_key'}]
9. Section Summary
Superset time: 0.910074 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 8
Filters: [{'column': 'visited_on'}, {'column': 'course_key'}]
10. Problems attempted per section/subsection
Superset time: 0.509738 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 50
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
11. Partial and full views per video
Superset time: 0.481967 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 40
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
12. Video views per section/subsection
Superset time: 0.477667 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 50
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
13. Current Enrollees
Superset time: 0.327181 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 1
Filters: [{'column': 'emission_time'}, {'column': 'enrollment_status'}, {'column': 'course_key'}]
14. Cumulative Enrollments by Track
Superset time: 0.322249 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 5
Filters: [{'column': 'emission_time'}, {'column': 'course_key'}]
15. Enrollees per Enrollment Track
Superset time: 0.189191 (s).
Query duration: 0.0 (s).
Result rows: None
Memory Usage (MB): None
Row count (superset) 3
Filters: [{'column': 'emission_time'}, {'column': 'enrollment_status'}, {'column': 'course_key'}]
The only report that got killed for memory was "Watched Video Segments":
2024-04-18 19:38:19,771:ERROR:performance_metrics:Error fetching slice data: Watched Video Segments. Error: Error: :HTTPDriver for https://kwzev57t01.us-east-2.aws.clickhouse.cloud:8443 returned response code 500)
Code: 241. DB::Exception: Memory limit (total) exceeded: would use 7.29 GiB (attempt to allocate chunk of 4906248 bytes), maximum: 7.20 GiB
Interestingly this consistently loads in the UI.
"Distribution of Current Course Grade" consistently failed, or returned no data in 0 seconds in spite of it actually returning data in the dashboard.
Full log: perf_runs_2.log
Run 1
Run 2