---
title: "Discussion on \"My dispatcher cost 10 CU-hours a day. The database it kept awake cost 136.\" | Hashnode"
description: "Discussion on \"My dispatcher cost 10 CU-hours a day. The database it kept awake cost 136.\". For a month I thought I had already fixed the cost of our data refresh control panel. In September I moved its dispatcher notebook from Spark to the Python kernel and cut it from about 99 CU-hours a d"
url: "https://hashnode.com/posts/fabric-sql-database-dispatcher-cost/6aedc64be2fbd4f7aef5abf6"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [My dispatcher cost 10 CU-hours a day. The database it kept awake cost 136.](https://kairahimov.hashnode.dev/fabric-sql-database-dispatcher-cost?utm_source=hashnode&utm_medium=feed)

For a month I thought I had already fixed the cost of our data refresh control panel. In September I moved its dispatcher notebook from Spark to the Python kernel and cut it from about 99 CU-hours a d

5d ago · 11 min read · kairahimov.hashnode.dev  
Read the article

-   [#microsoft-fabric](https://hashnode.com/tag/microsoft-fabric)
-   [#data-engineering](https://hashnode.com/tag/data-engineering)
-   [#azure](https://hashnode.com/tag/azure)

## Written by

[Kai Rahimov](https://hashnode.com/@kairahimov)

@kairahimov · Tashkent, Uzbekistan

  
[View profile](https://hashnode.com/@kairahimov)

Data engineer on Microsoft Fabric, Power BI and Power Platform. Writing about making Fabric apps cheaper, faster and easier to deploy.

Data engineer in Tashkent. Since 2018 I've built data platforms and BI for US companies, most recently on Microsoft Fabric: notebooks, pipelines, SQL databases and the deployment tooling around them. I write up what I learn in production, with real numbers. Certified DP-600, PL-600, AZ-104.

## Responses 3

Markdown supported · ⌘↵ to post

[Gonzalo Gjuka](https://hashnode.com/@gonzalogjuka)

[4d ago](https://hashnode.com/posts/fabric-sql-database-dispatcher-cost/6aedc64be2fbd4f7aef5abf6/comment/6aef563921f7eca6e70a5956)

"Online 97% of the time for two CPU-minutes of work" is the same arithmetic that bites on plain VMs: with a 12-hour weekday window a machine is used 60 of the 168 hours in a week and could be off for 108, 64%. The part worth underlining for anyone copying the fix is the dependency: stopping the thing that polls does nothing for the thing it kept awake. Outside Fabric the "does not stop when you stop the workers" list is short: managed databases (a stopped RDS instance restarts itself after seven days), load balancers and NAT gateways billed per hour of existence, disks, public IPs. Sorting the bill by item, as you did, is the only way those show up.

[Kai Rahimov](https://hashnode.com/@kairahimov)

[2d ago](https://hashnode.com/posts/fabric-sql-database-dispatcher-cost/6aedc64be2fbd4f7aef5abf6/comment/6aef563921f7eca6e70a5956#reply-6af207a531d9633afef5ece9)

Thanks, Gonzalo. That's the part I'd underline too. The poller was what I had optimized, but the database was what showed up on the bill. In Fabric the only lever was the idle gap: the database pauses after 15 quiet minutes, so the fix was removing every touch, including one forgotten browser tab. The RDS seven-day auto-restart is a good one to add to that list.

[Gonzalo Gjuka](https://hashnode.com/@gonzalogjuka)

[2d ago](https://hashnode.com/posts/fabric-sql-database-dispatcher-cost/6aedc64be2fbd4f7aef5abf6/comment/6aef563921f7eca6e70a5956#reply-6af238e20be8a10bf436a2c8)

The forgotten tab has a cousin in Azure SQL serverless: the auto-pause delay defaults to 60 minutes (15 is the floor, same as Fabric), and any login or activity resets the clock, so a health check every 30 minutes keeps the database billed around the clock while looking idle. Checking who still connects is part of the fix, not only the workload.
