VICIfast
Operations

Sizing a VICIdial server: how many agents and channels a box can handle

Choosing the right server size for VICIdial means understanding two linked ceilings: the number of agents who can log in and work, and the number of concurrent Asterisk channels those agents will generate. This post explains the framework for thinking about both together.

VICIfast Support
··3 min read
Sizing a VICIdial server: how many agents and channels a box can handle

When someone asks how big a VICIdial server they need, there are really two questions bundled into one. The first is how many agents the box can support. The second is how many simultaneous Asterisk Channel objects those agents will generate at peak dial. Both figures converge on the same underlying resource — CPU and system load — but they arrive there by different paths, and you need to size for both at once.

The two ceilings

Agent count and channel count are related but not the same thing. An Agent logged into the system creates some baseline load: the agent screen polls the server, the keepalive process tracks their status, and the database updates with each state change. That load is modest at idle. The channel count is what multiplies fast when dialing starts.

Each outbound dial attempt opens at least one Asterisk channel. When the call connects and bridges to an agent, it opens another. In Predictive dialing mode, the system intentionally dials ahead of agent availability, so there are always channels in flight that have not landed on an agent yet. A campaign running a Dial level of 3 means roughly three lines are dialing per available agent — so 50 available agents at ratio 3 means up to 150 active channels at once, before you count any inbound traffic or three-way calls.

CPU and system load are the shared constraint

Both agent sessions and Asterisk channels consume CPU. Asterisk itself handles the audio mixing, the SIP signaling, and the codec transcoding for every channel in use. VICIdial's daemon processes — hopper, auto-dialer, keepalive — add their own steady-state load proportional to the number of active agents and campaigns. When these stack up against each other on a lightly specced box, system load climbs past the point where calls start having problems before you hit any configured limit.

The practical rule: sustainable system load on a VICIdial box should stay below the core count during busy periods. A 4-core VPS with load averaging above 4 for extended periods will show it in call quality and agent screen lag. A Single tenant deployment has the full machine to itself, which at least means no noisy neighbors — but it also means the ceiling is fixed and you cannot borrow capacity from another tenant.

A sizing framework

flowchart TD
  A["Start: how many agents?"] --> B["Multiply by peak dial ratio"]
  B --> C["Estimate peak [[concurrent-calls]]"]
  C --> D{"Add inbound + 3-way headroom?"}
  D -->|Yes| E["Add 20% buffer to channel estimate"]
  D -->|No| F["Use raw channel estimate"]
  E --> G["Map to CPU cores needed"]
  F --> G
  G --> H{"Using [[ratio-dialing]] or predictive?"}
  H -->|Predictive| I["Add dial-ahead overhead to load estimate"]
  H -->|Ratio only| J["Load estimate is more stable"]
  I --> K["Choose server size"]
  J --> K

What the Maximum System Stats report tells you

VICIdial ships a Maximum System Stats report that tracks the highest channel count and highest concurrent agent count hit each day over the last 30 days. Once you have been running a campaign for a week or two, this report gives you empirical numbers rather than estimates. Look at the Most Concurrent Calls column on your busiest days — that is your real peak channel demand. Compare it to the Most Concurrent Agents column to see your actual dial ratio in practice.

Right-sizing over time

The correct approach is to start with a reasonable estimate, monitor the box in production using the Server Performance Report, and resize when the numbers tell you to — not before and not after problems start appearing. Load that consistently approaches your core count during the busy hour is the trigger. Load that spends most of the day well below core count means you may be over-provisioned.

For the monitoring side, the server health and capacity guide covers the full set of reports you should be checking regularly. For a focused look at how to read the load number itself, tracking most concurrent calls in VICIdial walks through the Maximum System Stats report in detail.

If you want a right-sized managed box without the guesswork, see VICIfast plans — each tier lists the CPU, RAM, and channel headroom, and you can scale up from the admin panel if your numbers outgrow the initial size.

About VICIfast LLC

VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.

Citing this article

VICIfast Engineering. “Sizing a VICIdial server: how many agents and channels a box can handle”. VICIfast LLC, June 28, 2026. Retrieved from https://vicifast.com/blog/size-vicidial-server-agents-channels

Have questions?

You might be interested in

VICIfast newsletter

Liked this? Get the next one in your inbox.

We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.

Comments

Comments are reviewed before they appear. We never publish your email.

No comments yet — be the first.