I'm aware that an update was made to the CDF service a few weeks ago (default worker type & attached PD were changed), and it was made clear that it would make batch jobs slower. However, the performance of our jobs has degraded beyond the point of them actually fulfilling our business needs.
For example, for one of our jobs in particular: it reads ~2.7 million rows from a table in BigQuery, has 6 side inputs (BQ tables), does some simple String transformations, and finally writes multiple outputs (3) to BigQuery. This used to take 5-6 minutes and now it takes anywhere between 15-20 mins - not matter how many VM's we chuck at it.
Is there anything we can do to get the speeds back up to what we used to see?
Here are some stats:
- Reading from a BQ table with 2,744,897 rows (294MB)
- 6 BQ side inputs
- 3 multi-outputs to BQ, 2 of which are 2,744,897 and the other 1,500 rows
- Running in zone asia-east1-b
- Times below include worker pool spin up and tear down
10 VMs (n1-standard-2) 16 mins 5 sec 2015-04-22_19_42_20-4740106543213058308
10 VMs (n1-standard-4) 17 min 11 sec 2015-04-22_20_04_58-948224342106865432
10 VMs (n1-standard-1) 18 min 44 sec 2015-04-22_19_42_20-4740106543213058308
20 VMs (n1-standard-2) 22 min 53 sec 2015-04-22_21_26_53-18171886778433479315
50 VMs (n1-standard-2) 17 min 26 sec 2015-04-22_21_51_37-16026777746175810525
100 VMs (n1-standard-2) 19 min 33 sec 2015-04-22_22_32_13-9727928405932256127