A dashboard can label a delay “database time” even when the database is not doing the waiting. In Sergey Shinder’s account on DEV Community, a repository tracing span included time waiting for a pooled connection, making a connection-pool queue look like slow database work. The distinction changed what the team investigated: instead of buying a larger instance, they separated the measurements and addressed a transaction that held a connection during an HTTP call.
What happened during the thirteen weeks
Shinder says the dashboard showed peak p99 “database time” of about 900 milliseconds for thirteen weeks. Query tuning, two indexes, and a join rewrite did not move the line. Yet, according to the account, the database statistics view showed the same statements taking 3–5 milliseconds, executed millions of times without notable outliers. The instance was at 12% CPU during the busiest hour.
As an Amazon Associate I earn from qualifying purchases.
Those figures are the author’s report, not independently verified benchmarks. The DEV Community result gives a September 24 posting date but no year, and the account does not name the database engine, tracing vendor, SDK, or deployment configuration. The numbers should be read as details of this incident, not as performance targets or typical values.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why “database time” did not mean query execution time
A span measures the time between its start and end boundaries; its label does not narrow that interval. In Shinder’s account, the repository-method span began before the connection pool supplied a connection and ended after the returned rows were mapped. Its duration therefore included pool acquisition, statement execution, and row mapping.
#1 Best Overall
- Dell PowerEdge R730xd 24B SFF 2U Server
- 2x Intel Xeon E5-2690 v4 2.6Ghz 14-Core (28-cores Total)
- 128GB DDR4 RAM – 4x 1.2TB 10K SAS 2.5” 12Gb/s
- Dell H730P mini 2GB 12Gb/s RAID
- 2x 750W PSU - 2x 10Gb SFP+ 2x 1Gb (RJ45) NIC
That distinction matters when interpreting a slow-looking trace. A long span around a repository method does not, by itself, establish that the database spent that entire interval executing a statement. The measurement has to be divided at the boundaries where work or resource ownership changes.
| Measurement | What it can include in the described setup | What it helps distinguish |
|---|---|---|
| Repository-method span | Connection-pool acquisition, statement execution, and row mapping | Total time for the broader method path; it does not isolate database execution |
| Connection-acquisition span | Time waiting for a pooled connection | Whether contention for pool capacity is contributing to the delay |
| Statement-execution span | Time executing the database statement | Database execution duration, separated from the wait to obtain a connection |
In the incident, the database’s reported 3–5 millisecond statement duration and the much longer dashboard span were not contradictory: they covered different intervals.
Rank #2
- Model: Dell OptiPlex 7050 Small Form Factor (SFF)
- Processor: Intel Core i7-7700 3.60 GHz
- Memory: 32GB DDR4 Ram
- Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
- Operating System: Windows 11 Pro (64-bit)
What was occupying the connection pool
The post identifies a despatch-note export endpoint. It opened a transaction and then called a PDF rendering service over HTTP while keeping a database connection. Shinder says the connection could remain held for up to eight seconds during that work. The account attributes the queue to this pattern: 40 exports per minute against a pool of 20 connections per pod were enough to make other queries appear slow.
The important mechanism is not that HTTP calls are inherently slow or that a particular pool size is universally inadequate. It is that the export retained a scarce database connection while waiting on a separate service. Requests needing connections could then queue, and a span that covered acquisition could report that queue as part of “database time.”
Rank #3
- 2.80 GHz processor speed ensures efficient operation with consistent reliability
- Intel Xeon 2.80 GHz processor provides enterprise-grade performance with built-in security and remote management capabilities
- Quad-core (4 Core) processor core helps server process data quickly and reliably for maximum productivity
- 1 processors supported for faster processing and improved access to data, optimizing performance under heavy loads
- With 16 GB memory, you can multitask between applications seamlessly, keeping productivity high and response times quick
How the team changed its measurements and code
Shinder reports four changes. First, the team split connection acquisition and statement execution into separately named spans, so the trace could show whether delay occurred before a query ran or during its execution. Second, it changed the export flow to read and commit before rendering the PDF. Third, it added an architecture test to prevent an open transaction across an outbound HTTP call. Finally, it changed the alert to watch pool wait time.
Together, those changes align the instrumentation with the question the team needed to answer: is a request spending time executing a statement, or waiting for a connection to become available? Tracking those intervals separately makes a database-capacity decision less likely to be driven by a broad span that combines multiple systems and resource waits.
Rank #4
- MODEL P74439-005: Compact and affordable HPE ProLiant MicroServer Gen11 powered by Intel Pentium Gold G7400 3.7GHz processor, ideal for file sharing, NAS, and basic business workloads
- READY OUT OF THE BOX: Includes 16GB DDR5 UDIMM memory (expandable to 128GB), one 1TB SATA 6G Business Critical HDD, embedded Intel VROC SATA, dedicated iLO-M.2 port kit, 180w external power adapter and 1/1/1 warranty for dependable plug-and-play server operation
- WHISPER-QUIET & SPACE-SAVING: Ultra-compact mini tower design fits easily in small office spaces; supports wall, flat, or vertical placement for deployment flexibility
- INTEGRATED REMOTE MANAGEMENT: Comes with HPE iLO 6 and embedded TPM 2.0 for secure, license-free remote server administration through shared port access
- EXPANDABLE DESIGN: Two PCIe slots (including PCIe 5.0) and four LFF-NHP drive bays provide robust options for storage and component scalability. Features new MR408i-p controller support for enhanced storage performance
How to read a “slow database” alert
- Check the span boundaries. Determine whether timing starts before connection acquisition and ends after mapping or other application work.
- Separate the intervals. Inspect connection-acquisition wait and statement execution as distinct measurements rather than inferring one from a repository span.
- Look for work holding connections. Review transaction scope, especially paths that make outbound network calls before committing or releasing the connection.
- Match the alert to the suspected bottleneck. If the concern is pool contention, alert on pool wait; if the concern is query execution, use a measurement that isolates statement duration.
These checks do not establish that a database never needs more capacity. They help establish whether the evidence points to database execution, connection-pool contention, or time spent elsewhere in the request path.
The lesson of the account
Shinder’s closing formulation is: “A measurement that spans two systems gets attributed to the far one.” In this case, a span named for database work included waiting for a database connection, while an export’s HTTP call kept that connection occupied. The useful lesson is to place instrumentation boundaries where resources change hands and to alert on the interval that represents the problem you intend to detect.
Quick Recap
Best Value
- HP Z4 G4 Workstation Tower
- Intel Xeon W-2133 6-Core 3.6GHz (3.9GHz Turbo)
- 64GB DDR4 Memory - Nvidia Quadro P400 2GB
- 512GB NVMe M.2 SSD (boot) + 2TB HDD (storage)
- Windows 11 Pro 64-bit
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




