Try a ChangeDetector, so only the changes need to write out. Your db and agol features will need to have the same OBJECTID, to match between original and revised to detect if something has changed.
The ChangeDetector will add an attribute of fme_db_operation which tells the writer whether to Insert, Update, or Delete, or do nothing because the data has not changed since the last time the process ran. Updates and Deletes are keyed on the OBJECTID

Try a ChangeDetector, so only the changes need to write out. Your db and agol features will need to have the same OBJECTID, to match between original and revised to detect if something has changed.
The ChangeDetector will add an attribute of fme_db_operation which tells the writer whether to Insert, Update, or Delete, or do nothing because the data has not changed since the last time the process ran. Updates and Deletes are keyed on the OBJECTID

Thanks @ctredinnick I'm not sure OBJECTID would work however? I have a separate FME task that runs a weekly update of the data into the SQL DB. As part of the process I have a Counter that fetches the last OBJECTID in the SQL DB then +1. Therefore the OBJECTID's in SQL would be different every week. My FME experience is very limited.
@chris_acc You should be able to use Insert with Truncate existing. This will be much faster than Delete.