DP-700 - Monitor and Optimize an Analytics Solution (33% of the exam) - Section 3.8

Optimize a pipeline, Spark performance, and Eventstreams and Eventhouses.

Tune pipeline parallelism and degree of copy parallelism, right-size Spark pools with autoscale, and use partition pruning and caching to reduce Spark job duration. Configure Eventhouse caching and retention policies and adjust Eventstream throughput settings to meet latency targets.

pipeline parallelism and degree of copy parallelismSpark pool sizing and autoscalepartition pruning and caching in SparkEventhouse caching and retention policiesEventstream throughput tuning

Practice question for this objective

Free sampleMonitor and Optimize an Analytics Solutionhard

A Microsoft Fabric Data Factory pipeline uses one Copy activity to load a very large partitioned table from a source database into a Lakehouse. The source supports parallel reads on its partition key and the destination storage is far from saturated, yet throughput stays low because the copy reads the source on a single stream. The team wants to raise sustained throughput by reading the source in parallel while keeping a single Copy activity. Which TWO configuration changes on the Copy activity together best raise throughput? Select TWO.

  • AEnable source partitioning on the partition key so the Copy activity issues multiple concurrent read partitions against the source instead of one serial stream. Correct
  • BRaise the degree of copy parallelism so more partitions are read and written at the same time, using the available source and destination headroom. Correct
  • CSet the Copy activity to a single intra-activity retry with a longer interval so transient stalls do not restart the whole serial read from the beginning.
  • DLower the destination batch size so each write commits sooner, which the team expects to free the source stream to read the next block faster.
Raise Copy activity throughput by enabling source partitioning together with a higher degree of copy parallelism. Parallel data movement in a Copy activity comes from splitting the source read into partitions and then running several of those partitions at once. Source partitioning on the partition key creates the independent read units, and increasing the degree of copy parallelism schedules more of them concurrently against the unused source and sink headroom, which is what lifts sustained throughput. Retries and batch sizing change failure handling and commit behaviour, not read parallelism.

Why A is correct: Source partitioning splits the read into independent partition queries the activity can run concurrently, which is what removes the single-stream bottleneck described.

Why B is correct: The degree of copy parallelism controls how many partitioned reads and writes run concurrently, so increasing it consumes the spare source and sink capacity to lift throughput.

Why C is wrong: Retries help recover from transient faults but do nothing to parallelise the read, so the activity still copies on one stream and throughput stays low.

Why D is wrong: A smaller batch size adds commit overhead and does not parallelise the single source read, so it fails to address the stated serial-read bottleneck.

See more DP-700 practice questions, answers explained.

Exam traps in Monitor and Optimize an Analytics Solution

Answers that look right on this material and are not. Each one is a distractor from a different question in the DP-700 bank for this domain.

  • Lower the data integration unit allocation so the activity uses fewer resources, which reduces contention on the source database and lets each read complete faster.

    Why it is wrong: Cutting data integration units reduces, rather than increases, the resources available to a copy; with a serial read pattern and idle capacity, fewer resources slow the copy further instead of parallelising the source reads.

  • Keep the fixed large pool but enable dynamic allocation inside each session, so executors are added and removed per job while the pool stays sized for the peak.

    Why it is wrong: Dynamic allocation tunes executors within a session, but the fixed pool still reserves peak capacity around the clock, so the daytime idle waste the report flags is not eliminated even if individual jobs use fewer executors.

  • Run an OPTIMIZE command on the table to compact small files, which reduces the number of files Spark must open and therefore avoids scanning unrelated partitions.

    Why it is wrong: OPTIMIZE compacts files within partitions to cut file-listing overhead, but it does not change which partitions are scanned; a query that already scans every partition will still scan them all after compaction.

Examworthy is not affiliated with or endorsed by Microsoft. Original, blueprint-aligned practice material only.