Skip to content
induslevel.com
Menu
  • Home
Menu
email-logo

Cisco Ironport Email Security Appliance (ESA) C390 Benchmarking

Posted on November 26, 2021November 29, 2021 by Waqar Azeem

My colleague Imran Yousaf and I got the opportunity to get our hands dirty on Cisco Ironport email security appliance (ESA) model C390. We want to see the maximum throughput in terms of outbound emails which this device can process in one hour.

As there are 100s of components involves in email delivery such as antivirus scanner, antispam ,bandwidth, sender/recipient domains reputation, throttling on recipient side etc, end to end email delivery variates for same email.

We want to get an idea about the size of a cluster which we require to process our daily email delivery.

We could not find any data available on Internet therefore we setup our own testbed and sent bulk emails with different parameters to calculate the average throughput. This test will give a very crude idea. For precise sizing, you must check with your Cisco Account manager or sales team.

We have used Linux machine for generating emails using smtp-source which is multi-threaded SMTP/LMTP test generator. Time was calculated to send the batch of emails and workqueue along with CPU utilization was observed.

Here is the syntax of command used

time smtp-source -s 1 -l 5120 -m 500 -c -S "A test mail Induslevel" -f [email protected] -t [email protected] esa-server.induslevel.com:25
FlagDetails
timecalculate total time taken for command execution
snumber of connections
lsize of each email
mnumber of emails
cdisplay email counter during command execution
Ssubject of email
tsender address
frecipient address

Test Run # 1

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 500
Mail size = 5KB
time smtp-source -s 1 -l 5120 -m 500 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
500
real 0m7.223s
user 0m0.024s
sys 0m0.122s

Test Run # 2

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 5000
Mail size = 5KB
time smtp-source -s 1 -l 5120 -m 5000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
5000
real 1m14.261s
user 0m0.253s
sys 0m1.188s

Test Run # 3

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 5000
Mail size = 50KB
time smtp-source -s 1 -l 51200 -m 5000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
5000
real 2m18.681s
user 0m0.391s
sys 0m1.386s

Test Run # 4

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 10000
Mail size = 15KB
time smtp-source -s 1 -l 15360 -m 10000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
10000
real 2m52.353s
user 0m0.558s
sys 0m2.292s

Test Run # 5

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 20000
Mail size = 15KB
time smtp-source -s 1 -l 15360 -m 20000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
20000
real 5m47.147s
user 0m1.067s
sys 0m4.688s

Test Run # 6

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connections = 10
Number of Mails = 2000
Mail size = 15KB
time smtp-source -s 10 -l 15360 -m 2000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
2000
real 0m23.046s
user 0m0.089s
sys 0m0.437s

Test Run # 7

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connections = 10
Number of Mails = 20000
Mail size = 15KB
time smtp-source -s 10 -l 15360 -m 20000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
20000
real 3m46.463s
user 0m1.004s
sys 0m4.585s

Test Run # 8

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 10
Number of Mails = 60000
Mail size = 50KB
time smtp-source -s 10 -l 51200 -m 60000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
60000

real 14m19.163s
user 0m4.436s
sys 0m17.431s

Test Run # 9

Condition: ESA was configured to accept all emails and process them. Three Gmail addresses were created.
[email protected]
[email protected]
[email protected]

Emails were generated from three different sources simultaneously.

Sender = [email protected]
Recipient1 = [email protected]
Recipient2 = [email protected]
Recipient3 = [email protected]

Source 1
Number of Connections = 1
Number of Mails = 1000
Mail size = 5KB
time smtp-source -s 1 -l 5120 -m 1000 -c -S “A 1000 test mail from Station 1” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 9m22.762s
user 0m0.124s
sys 0m0.340s

Source 2
Number of Connections = 1
Number of Mails = 1000
Mail size = 5KB
time smtp-source -s 1 -l 5120 -m 1000 -c -S “A 1000 test mail from Station 2” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 9m22.555s
user 0m0.143s
sys 0m0.329s

Source 3
Number of Connections = 1
Number of Mails = 1000
Mail size = 5KB
time smtp-source -s 1 -l 5120 -m 1000 -c -S “A 1000 test mail from Station 3” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 9m21.828s
user 0m0.144s
sys 0m0.315s

Test Run # 10

Condition: ESA was configured to accept all emails and process them. Three Gmail addresses were created.
[email protected]
[email protected]
[email protected]

Emails were generated from three different sources simultaneously.

Sender = [email protected]
Recipient1 = [email protected]
Recipient2 = [email protected]
Recipient3 = [email protected]

Source 1
Number of Connections = 10
Number of Mails = 10000
Mail size = 5KB
time smtp-source -s 10 -l 5120 -m 10000 -c -S “A 10000 test mail from Station 1” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 10m23.889s
user 0m0.624s
sys 0m2.651s

Source 2
Number of Connections = 10
Number of Mails = 10000
Mail size = 5KB
time smtp-source -s 10 -l 5120 -m 10000 -c -S “A 10000 test mail from Station 2” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 10m23.853s
user 0m0.939s
sys 0m2.839s

Source 3
Number of Connections = 10
Number of Mails = 10000
Mail size = 5KB
time smtp-source -s 10 -l 5120 -m 10000 -c -S “A 10000 test mail from Station 3” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 10m23.941s
user 0m0.860s
sys 0m2.794s

Test Run # 11

Condition: ESA was configured to accept all emails and process them. Emails were delivered to an internal SMTP server

Sender = [email protected]
Recipient = [email protected]

Number of Connections = 10
Number of Mails = 100000
Mail size = 5KB
time smtp-source -s 10 -l 5120 -m 100000 -c -S “A 100k test mail from Station 1” -f [email protected] -t [email protected] esa-server.induslevel.com:25
real 21m50.590s
user 0m4.648s
sys 0m20.813s

Test Run # 12

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 20000
Mail size = 500KB
time smtp-source -s 1 -l 5120000 -m 20000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
20000

real 11m46.102s
user 0m1.766s
sys 0m6.151s

Test Run # 13

Condition: ESA was configured to accept all emails and process them. However, instead of forwarding it to mail server, it was programmed to drop the email at the end

Sender = [email protected]
Recipient = [email protected]

Number of Connection = 1
Number of Mails = 100000
Mail size = 500KB
time smtp-source -s 1 -l 5120000 -m 100000 -c -S “A test mail Induslevel” -f [email protected] -t [email protected] esa-server.induslevel.com:25
20000

real 58m52.986s
user 0m8.915s
sys 0m29.912s

Summary

SrConnectionsMail size (KB)Number of emailsTotal data size (MB)Time taken (sec)Throughput (email per sec)Load on ESA
1155002771.4350% (normal)
2155,000247467.5750% (normal)
31505,00024413836.23
411510,00014617258.14
511520,00029334757.64
610152,000292386.96
7101520,00029322688.50
8105060,0002,93085969.85
9353,000155625.34
1030530,00014662348.1599.00%
11105100,0004881,31076.34
12151220,00010,00070628.3360% (a bit higher) with peak of 85%
131512100,00050,0003,53228.3160% (a bit higher) with peak of 85%
Average Emails per Seconds55.60

Conclusion

Based on our testing, we have concluded that Cisco C390 ESA can deliver 50-60 email per second in our setup.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • More
  • Click to print (Opens in new window) Print
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to email a link to a friend (Opens in new window) Email

Related Articles

Share your thoughtsCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Warning
Warning
Warning.

Recent Posts

  • Easiest Way to Setup WordPress and OpenConnect VPN Server using Ansible
  • How to use port 443 for SSH and OpenConnect VPN on Linux using HAProxy
  • How to Backup ZFS Snapshots to AWS Glacier
  • How to Install and Setup OpenConnect VPN Server on CentOS 7
  • How to Compile Kitty SSH Client from Source Code

Recent Comments

  1. Waqar Azeem on How to Install and Setup Kubernetes Cluster with Flannel CNI in CentOS 7
  2. Owais Khaleeq on How to Install and Setup Kubernetes Cluster with Flannel CNI in CentOS 7
  3. Muhammad Rizwan Latif on How To Setup 3-Node DynaTrace Managed Cluster on Centos/Redhat 7
  4. Waqar Azeem on How To Setup 3-Node DynaTrace Managed Cluster on Centos/Redhat 7
  5. Tahir on How to Install Simple DHCP Server in Centos 7

Archives

  • August 2024
  • February 2024
  • January 2024
  • July 2023
  • October 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021

Categories

  • Uncategorized
© 2025 INDUS LEVEL | Powered by Minimalist Blog WordPress Theme