DB connection pooling and more robust error handling