Church Cashbook Maintenance Manual
Monitor transaction volume and storage growth.
Expected scale
Church Cashbook is designed for Anglican parish-level financial management. A typical active parish might record 500–2,000 transactions per year. At diocese scale with 50–100 parishes, the database would accumulate tens of thousands of transactions annually. Stress testing confirmed stable operation to approximately 2.6 million transactions — well beyond any realistic foreseeable scale for this deployment.
What to monitor
Performance monitoring for this system is lightweight. The key indicators to check annually (or when a performance complaint is received) are:
- Database size: Visible via phpMyAdmin. Growth should be gradual and proportional to transaction volume. Unexpected rapid growth may indicate a logging issue.
- Storage directory size: Visible via System Info → Storage. The receipts and exports directories accumulate files over time. Review and archive old exports periodically.
- Disk free space: Visible via System Info → Disk free space. Alert Rochen if free space drops below 20% of total.
- Page response time: No formal monitoring is configured. If users report slowness, check the Rochen cPanel for server load indicators and review the error logs for database timeout errors.
Index health
The database schema uses composite indexes on the primary access paths (church_id + tx_date for transactions, church_id + created_at for activity logs). These do not require maintenance under MariaDB InnoDB for normal usage volumes. If query performance degrades significantly, run ANALYZE TABLE transactions in phpMyAdmin to update table statistics.
Scaling considerations
If the system is extended to a significantly larger number of parishes or a much higher transaction volume, the first optimisation to consider is database connection pooling and query result caching, not schema changes. The current architecture is appropriate for the planned deployment scale and does not require partitioning or archiving.