Methodology
How RACKCRUNCH calculators work: the formula behind each result and the assumptions that come with it.
General rules
- Units are stated on every input. Storage uses decimal TB and GB unless a result is labeled TiB, GiB, KiB, or MiB.
- Inputs have sensible upper and lower limits. Values outside them show an error instead of a result.
- Results never show Infinity, NaN, or unexplained scientific notation.
- Rules that change over time, such as licensing terms, show the date they were last checked.
- Each calculator page has a note listing what the result leaves out.
Formulas and assumptions by calculator
| Calculator | Formula | Main assumptions |
|---|---|---|
| RAID Calculator | Usable = disks available for data x disk size, per RAID level (for example RAID 5: (n - 1) x size; RAID 6: (n - 2) x size; RAID 10: n / 2 x size). TiB = TB x 10^12 / 2^40. | Equal-sized disks. No hot spares, filesystem or controller overhead, compression, or deduplication. |
| RAID Rebuild Time | Hours = disk TB x 10^12 / (MB/s x 10^6 x 3,600) / (1 - load). URE exposure = 1 - e^(-bits read / 10^URE exponent). | Best-case sustained speed. Exposure is for reading one disk, not the whole array. |
| Data Transfer Time | Seconds = TB x 8 x 1,000 / (Gbps x efficiency). | Decimal TB and Gbps. Efficiency covers protocol and link overhead. |
| Rack Power | kWh/month = watts / 1,000 x 24 x 30.4 x PUE. Cost = kWh x price. | 30.4-day month. PUE is applied as a flat multiplier. |
| IPv4 Subnet | Network = address AND mask. Broadcast = network OR wildcard. Usable hosts = 2^(32 - prefix) - 2. | /31 and /32 are shown without subtracting network and broadcast addresses. |
| VLSM Planner | Each request gets the smallest block with 2^(host bits) >= hosts + 2, allocated largest first on block boundaries. | Requests that do not fit in the parent network are rejected. |
| IOPS / Throughput | MiB/s = IOPS x KiB / 1,024. Concurrency = IOPS x latency (ms) / 1,000 (Little's law). | Arithmetic only. Caching, queueing, and read/write mix are not modeled. |
| PoE Budget | Usable watts = budget x (1 - headroom). Devices = min(ports, floor(usable / draw per device)). | Same draw for every device. Per-port PoE class limits still apply. |
| CCTV Storage | GB per camera per day = Mbps x 10^6 / 8 x 3,600 x hours x activity / 10^9. Total = per camera per day x cameras x days x (1 + overhead). | Decimal units. Activity is an estimate, and codec behavior changes real bitrates. |
| UPS Runtime | Minutes = volts x Ah x efficiency / load watts x 60. Rated watts = VA x power factor. | Energy estimate only. Battery age, temperature, and discharge rate can shorten runtime. |
| VoIP Erlang B | Traffic (Erlangs) = calls x average seconds / 3,600. Lines = the smallest N whose Erlang B blocking is at or below the target. | Poisson arrivals, blocked calls cleared, stable busy hour. |
| Downtime Cost | Per hour = staff x loaded hourly cost x productivity loss + annual revenue / revenue hours x revenue impact. | Direct costs only. Recovery labor, penalties, and churn are excluded. |
| VM Host Sizing | VMs per host = min(floor(cores x (1 - reserve) x vCPU ratio / vCPU per VM), floor((RAM - reserve) / RAM per VM)). | Hosts = ceil(total VMs / VMs per host) + N reserved hosts. RAM is not overcommitted. NUMA, storage, and network limits are not modeled. |
| Power Cost | kWh = watts / 1,000 x hours per day x days x quantity. Annual = 12 x monthly. | Flat rate. Taxes, demand charges, and tiers are excluded. |
| Windows Server Licensing | Cores to license = max(16, 8 x processors, physical cores), rounded up to 2-core packs. Standard: one core set per two OSEs. | Based on Microsoft Product Terms as checked on the date shown on that page. Verify current terms before buying. |
| IPv6 Subnet | Network = address AND prefix mask. Addresses = 2^(128 - prefix). Child subnets = 2^(child - parent). | No broadcast address in IPv6. Embedded IPv4 notation is not accepted. |
| SSL Certificate Expiry | Days remaining = certificate notAfter - now. Read live from the certificate the domain presents on port 443. | Shows the certificate as presented, including bad ones. Trust is checked against public root CAs and the name against the domain entered; problems are listed. Revocation (OCSP/CRL) is not checked. |
| Backup Capacity | Protected TB = data x (1 + growth)^years. Raw = protected x fulls kept + protected x change rate x dailies kept. Provisioned = raw / reduction ratio x (1 + overhead). | Logical-capacity plan. Product-specific chains and dedupe scope differ. |
| SQL Server Licensing | Per core: physical = sockets x max(cores, 4); per VM = VMs x max(vCores x threads per vCore, 4); rounded up to 2-core packs. Server + CAL = one server license per OSE plus one CAL per user or device. Pay-as-you-go = billed cores (minimum 4 per OSE) x whole hours = core-hours. Replicas follow the free-passive rules. | License counts only; no prices are shown. Rules from Microsoft's SQL Server 2025 and 2022 licensing guidance and Product Terms, checked 2026-09-23. Not a quote. |
| EOL Lookup | Status compares stored dates with today's date. | The feed retrieval date is not a verification date for every value; some values are retained from earlier reviews and unresolved releases or dates may be omitted. Confirm with the linked vendor source. |
| Security Header Check | Reads the home page response headers over HTTPS (up to 3 redirects) and rates each header pass, warning or missing with a reason. | One page, one CDN edge, logged out. The page body is not read. No letter grade. |
| DNS Lookup | Queries Cloudflare (1.1.1.1), then Google (8.8.8.8) if needed, over DNS-over-HTTPS and shows the answers with TTLs. | Resolver answers can be cached up to the TTL. SPF and DMARC labels check the basic syntax only. |
| SPF / DMARC Checker | Queries fixed public DNS-over-HTTPS resolvers for SPF and DMARC TXT records and MX mail receivers. Counts direct SPF DNS-lookup terms and parses p, sp, pct and rua. | Nested SPF includes and redirects are not followed; total evaluated lookups and real message SPF, DKIM and DMARC alignment cannot be proven from these records alone. DNS may be cached until the TTL expires. |
| ZFS RAIDZ Capacity | Usable is about (disks - parity) / disks x raw space per vdev, then adjusted the way OpenZFS allocates space: disk labels, metaslab rounding, RAIDZ parity padding for 128K records, and slop space. | Empty pool, uncompressed data. No SLOG, L2ARC, special vdevs, hot spares, snapshots, dedup or dRAID. Disk sizes are decimal TB; ZFS reports binary TiB. |
| chmod Calculator | Each digit is a sum of read 4, write 2 and execute 1 for owner, group and others. An optional leading digit adds setuid 4, setgid 2 and sticky 1. | Follows GNU coreutils chmod. On a directory, setuid and setgid are kept unless named, so suggested commands use the 5-digit or u-s / g-s form. |
| Cron Expression | Each of the 5 fields becomes a set of allowed values; next runs are found by checking dates and times in order. If both day-of-month and day-of-week are restricted, either one can match. | Classic Vixie cron and cronie rules. Times use your browser time zone or UTC. Daylight saving handling follows cronie; other schedulers (systemd timers, cloud schedulers) differ. |
| systemd Unit Generator | Builds a .service file from your inputs using systemd.service(5) settings and systemd.syntax(7) quoting: % becomes %%, environment values are quoted, and line breaks are rejected. | Creates one service unit only (no timers, sockets or drop-ins). Paths and users are not checked against your server. |
Cross-check a result before you rely on it
For RAID 6 with six 12 TB disks, raw capacity is 72 TB and usable capacity is 48 TB before filesystem, controller, spare and other overhead. Changing the layout changes capacity and failure tolerance; it does not create a backup.
For 10,000 IOPS at 16 KiB, throughput is 156.25 MiB/s. At 1 ms average latency, Little's Law gives 10 outstanding operations. This is arithmetic, not a benchmark or a promise that a drive can deliver that workload.
For transfer planning, 1.15 TB at 1 Gbps and 85% efficiency takes about 3.01 hours. A 23 TB full copy at those inputs takes about 60.13 hours. These estimates do not prove a backup can be restored.
Reporting a problem
If a result looks wrong, send the calculator name, your inputs, and the result you expected through the Contact page.