Standalone DB - Windows

Disclaimer

These results should be viewed as guidelines and not performance guarantees, since there are many variables that affect performance (file set, network configurations, hardware characteristics, etc.). If throughput is important to your implementation, OPSWAT recommends site-specific benchmarking before implementing a production solution.

Environment

Using AWS environment with the specification below:

MetaDefender Core

OS

AWS instance type

vCPU

Memory (GB)

Network bandwidth (Gbps)

Disk type

Benchmark

Windows Server 2022

c5.4xlarge

16

32

Up to 10

SSD

Amazon EC2 c5.4xlarge - Geekbench

Client tool

A simple tool written in Python to collect files in a designated folder and submit requests to MetaDefender Core.

files_to_scan = list of files to scan scan_futures = [asyncio.create_task(self.scan_file(file_path)) for file_path in files_to_scan] async def scan_file(self, file_path): api_url = f'{self.core_url}/file' with open(file_path, 'rb') as file: file_content = file.read() headers = {'Content-Type': 'application/octet-stream', 'filename': file_path} max_retries = 20 # Maximum number of retry attempts retry_delay = 120 # Delay in seconds before retrying for attempt in range(max_retries + 1): try: response = requests.post(api_url, data=file_content, headers=headers) status_code = response.status_code if status_code == 200: response_json = response.json() data_id = response_json.get('data_id') return status_code, response_json, data_id if status_code == 503: print(f"Received status code {status_code}. Retrying in {retry_delay} seconds...") await asyncio.sleep(retry_delay) else: return None, None, None except requests.RequestException as e: return None, None, None return None, None, None

OS

AWS instance type

vCPU

Memory (GB)

Network bandwidth (Gbps)

Disk type

CentOS 7

c5.2xlarge

8

16

Up to 10

SSD

Dataset

Detailed information of dataset below will be used for testing:

File category

File type

Number of files

Total size (MB)

Average file size (MB)

Adobe

PDF

370

385 MB

1.0 MB

Executable

EXE

45

309.5 MB

6.9 MB


MSI

15

45.75 MB

3.1 MB

Image

BMP

80

515 MB

6.4 MB


JPG

420

237.5 MB

0.6 MB


PNG

345

169 MB

0.5 MB

Media

MP3

135

865 MB

6.4 MB


MP4

50

500 MB

10.0 MB

Office

DOCX

235

190 MB

0.8 MB


DOC

225

486 MB

2.2 MB


PPTX

365

860 MB

2.4 MB


PPT

355

1950 MB

5.5 MB


XLSX

340

283.5 MB

0.8 MB


XLS

335

284.5 MB

0.8 MB

Text

CSV

100

236 MB

2.4 MB


HTML

1075

76 MB

0.1 MB


TXT

500

210 MB

0.4 MB

Archive

ZIP

Compressed files: 10

Extracted files: 270

Compressed size: 125.5 MB

Extracted size: 156.5 MB

Avg compressed size: 12.6 MB

Avg extracted size: 0.6 MB

Summary (compressed)


5000

7728.5 MB

1.55 MB average file size

Summary (extracted)


5260

7759.5 MB

1.48 MB average file size

Product Information

Product versions:

  • MetaDefender Core 5.14.0

  • Engines:

    • Metascan 8: Ahnlab, Avira, ClamAV, ESET, Bitdefender, K7, Quick Heal, VirIT Explorer

    • Metascan 12: Metascan 8, Varist, Ikarus, Emsisoft, Tachyon

    • Metascan 16: Metascan 12, NANO, Comodo, VirusBlokAda, Zillya!

    • Deep CDR: 7.4.0

    • Proactive DLP: 2.23.0

    • Archive: 7.4.0

    • File type analysis: 7.4.0

    • File-based vulnerability assessment: 4.2.416.0

MetaDefender Core settings

General settings

  • Turn off data retention

  • Turn off engine update

Archive extraction settings

  • Max recursion level: 99999999

  • Max number of extracted files: 99999999

  • Max total size of extracted files: 99999999

  • Timeout: 10 minutes

  • Handle archive extraction task as Failed: true

    • Extracted partially: true

Metascan AV settings

  • Max file size: 99999999

  • Scan timeout: 10 minutes

  • Per engine scan timeout: 1 minutes

Performance test results

Summary

MetaDefender Core with single engine (technology):

Use case

Scan duration

Throughput

Avg. processing time

Avg./Max CPU usage

Avg./Max RAM usage

Avg. Network speed


(minutes)

(processed objects/hour)

(seconds/object)

(%)

(%)

(KB/s)

Metascan 8

17.8

429,387

0.008

73.2 / 92

47 / 50

7,076

Metascan 12

29.6

258,131

0.014

86 / 99

51 / 56.2

4,370

Metascan 16

36.6

208,229

0.017

83.3 / 99.4

58.2 / 63

4,463

Deep CDR

19.0

401,349

0.009

80 / 95

50.1 / 54.6

5,573

Proactive DLP

14.2

536,902

0.007

55.4 / 78.4

48.4 / 50.5

8,924

Vulnerability

13.2

577,242

0.006

60 / 84

48.4 / 51

9,482

MetaDefender Core with common engine packages:

Use case

Scan duration

Throughput

Avg. processing time

Avg./Max CPU usage

Avg./Max RAM usage

Avg. Network speed


(minutes)

(processed objects/hour)

(seconds/object)

(%)

(%)

(KB/s)

Metascan 8

+ Deep CDR

24.2

315,830

0.011

89 / 97.3

50.3 / 56.3

5,789

Metascan 8

+ Deep CDR

+ Proactive DLP

26.8

284,531

0.013

92.2 / 97.3

52.4 / 58.7

5,849

Metascan 8

+ Deep CDR

+ Proactive DLP

+ Vulnerability

27.7

275,255

0.013

94 / 98.5

53.1 / 59.5

4,314

Metascan 12

+ Deep CDR

38

200,713

0.018

92 / 99.5

53.4 / 60

3,779

Metascan 12

+ Deep CDR

+ Proactive DLP

41

186,722

0.019

95 / 99.8

57 / 64.5

3,504

Metascan 12

+ Deep CDR

+ Proactive DLP

+ Vulnerability

43

177,963

0.02

92.8 / 99.7

53.1 / 61

3,643

Metascan 16

+ Deep CDR

43.2

176,734

0.02

93.5 / 99.4

63.3 / 70.8

3,023.3

Metascan 16

+ Deep CDR

+ Proactive DLP

46.6

163,570

0.022

92.4 / 99.5

62 / 68.5

3,548.5

Metascan 16

+ Deep CDR

+ Proactive DLP

+ Vulnerability

47.6

160,264

0.022

92.5 / 99.7

61 / 66.5

3,467

System resource utilization charts

MetaDefender Core with Metascan 8:


Utilization charts

CPU usage


Memory usage


Network usage



Disk usage



MetaDefender Core with Metascan 8 + Deep CDR + Proactive DLP + Vulnerability:


Utilization charts

CPU usage


Memory usage


Network usage



Disk usage



MetaDefender Core with Metascan 16 + Deep CDR + Proactive DLP + Vulnerability:


Utilization charts

CPU usage


Memory usage


Network usage



Disk usage