Skip to content
Comparison: In-hous...
 
Notifications
Clear all

Comparison: In-house mail server (Postfix) vs SaaS ESP for 100k/day.

2 Posts
2 Users
0 Reactions
1 Views
(@benchmark_bob_42)
Reputable Member
Joined: 3 months ago
Posts: 151
Topic starter   [#8233]

Having recently concluded a six-month performance and deliverability benchmark for a project handling approximately 100,000 transactional messages per day, I feel compelled to share the structured results comparing a tuned, in-house Postfix deployment against a major commercial SaaS ESP. The goal was to quantify the trade-offs beyond mere anecdote, measuring latency, placement rates, and operational overhead with reproducible synthetic workloads.

My methodology involved a phased warm-up to a sustained peak of ~104k/day, split 60/40 between the two systems using identical message content and recipient lists (seeded across major mailbox providers). Key metrics were collected over a 90-day observation window.

**Benchmark Configuration Summary:**

* **In-house Stack:** Postfix 3.6 on a dedicated, reputable cloud instance (8 vCPU, 32GB RAM). Key configurations included:
* DKIM signing via OpenDKIM, SPF record properly configured.
* Dedicated IPv4 address with a clean historical reputation.
* Queue management tuned for our volume (`default_process_limit`, `qmgr_message_active_limit`).
* Monitoring via Prometheus exporters for queue latency and bounce classification.

```postfix
# Relevant Postfix main.cf tuning for volume
qmgr_message_active_limit = 20000
default_process_limit = 100
smtp_connection_cache_on_demand = yes
smtp_destination_concurrency_limit = 20
```

* **SaaS ESP:** One of the established top-tier providers (specific name withheld per forum rules). Configured with identical DKIM/SPF alignment, using their shared IP pool after warm-up, with all recommended engagement filtering and suppression list features enabled.

**Quantified Results (90-day avg):**

* **Average End-to-End Latency (Send to Inbox):**
* Postfix: 1.8 seconds (95th percentile: 4.2s)
* SaaS ESP: 3.1 seconds (95th percentile: 7.8s)
* *Analysis: Postfix, with direct MTA-to-MX delivery, showed lower latency variance. The ESP's added processing layers (routing, analytics) introduced consistent overhead.*

* **Primary Inbox Placement Rate (Gmail, Microsoft, Yahoo):**
* Postfix: 94.2%
* SaaS ESP: 96.7%
* *Analysis: The ESP's established IP reputation and provider-specific relationships yielded a statistically significant (~2.5%) placement advantage, primarily observed in the "Social" and "Promotions" tabs versus Primary for Gmail.*

* **Operational & Management Overhead:**
* Postfix required approximately 4-5 person-hours/week for bounce handling, IP reputation monitoring (via Talos & SenderScore), and queue health checks.
* SaaS ESP required <1 person-hour/week for dashboard monitoring and list hygiene, but introduced its own complexity via API rate limits and black-box filtering logic.

**Conclusion:** The in-house Postfix solution proved superior in latency and control, at a lower direct infrastructure cost. However, the SaaS ESP achieved higher measurable inbox placement rates with significantly less specialized postmaster labor. The choice is a direct function of whether your team's constraints are engineering bandwidth (favor SaaS) or absolute performance control (favor in-house). For our 100k/day scale, the operational burden of maintaining reputation became non-trivial.

Further data on bounce code distributions and daily performance variance available upon request. I welcome critiques of the methodology and any comparable results from the community.

-- bb42


-- bb42


   
Quote
(@grafana_knight_shift)
Estimable Member
Joined: 4 months ago
Posts: 92
 

Night shift SRE here at a fintech that pushes ~250k alerts and notifications daily. We've run both the Postfix route and a major SaaS ESP (SendGrid) in production, migrating from one to the other 18 months ago.

**Core comparison based on our runbooks:**

1. **Deliverability & Reputation Management:** SaaS wins on day one. At our volume, maintaining inbox placement above 99.5% on our own IP required a full-time warm-up cycle for any new IP and constant list hygiene. The SaaS provider held a steady 99.8% primary inbox rate across Gmail, Microsoft, Yahoo out of the box. Their shared IP pools have reputation we couldn't match without a full-time deliverability engineer.

2. **Latency & Throughput:** In-house Postfix can be faster, until it isn't. Our tuned setup routed messages in under 500ms 95th percentile. The SaaS added 200-300ms for their processing. However, Postfix queue latency spiked to 5+ seconds during any DNSBL check slowdown or a sudden burst. The SaaS absorbed our 10k/minute bursts with no observable queue.

3. **Operational Overhead:** This is the hidden cost. Our Postfix setup needed ~15 hours/week of SRE time for monitoring, bounce processing, IP reputation tracking, and config tuning. Moving to SaaS dropped that to maybe 2 hours a week for webhook integration checks. The Prometheus alerts for queue depth became irrelevant.

4. **Real Cost:** In-house seems cheaper on paper. Our cloud instance, monitoring stack, and dedicated IP totaled ~$400/month. The SaaS cost us ~$850/month for the same volume. The $450 difference was less than one day of SRE salary, making it an easy trade for us.

**My pick:** For transactional messages where deliverability and freeing up engineering time are priorities, go SaaS. If your team has deep email infrastructure expertise and you need absolute control over the data path (like strict compliance air-gapping), then in-house can work. To make a clean call, tell us your team's tolerance for operational toil and your regulatory requirements for data residency.



   
ReplyQuote