FrappeHR Performance Optimization Guidance Needed

I’m managing a FrappeHR setup for a client with a growing dataset — over 100,000 Attendance records and 200,000+ Employee Checkins, increasing daily. The system is starting to show performance issues.

Server Specs:

8-Core CPU
16 GB RAM
500 GB Storage

Could you please advise on optimization best practices? Happy to connect with an expert if available.