This walkthrough is planned but not published yet. The transcript below covers the same material if you would rather read it now.
When I/O is your bottleneck, more workers will not help. Here is what does.
If each worker spends most of its time waiting on object storage, adding workers adds waiting, not throughput. Read in parallel within each task, prefer columnar formats so you fetch only the fields you use, and size partitions so a single request moves a useful amount of data. Measure the ratio of time spent reading to time spent computing before deciding a workload is compute-bound.