Black Duck Hardware Scaling Guidelines

This page has been retired, please click here for the for compatibility and support schedules on the Synopsys Software Integrity Group Documentation Portal.

Synopsys Black Duck Release

Synopsys Black Duck Release

2022.10.0

 

The performance data below was gathered using Black Duck 2022.10.0 with reduced signature scan persistence (default) and Synopsys Detect 8.0.0. SPH values are calculated using a mix of signature scans, package manager detector scans and rapid scans. Average scan sizes vary from customer to customer so exact SPH throughput is highly customer specific. These metrics were gathered from Google Cloud Platform, which provides different database read/write IOPS for different configurations.

Name

Scans/Hour

SPH % Increase

APIs/Hour

Project Versions

IOPS

Black Duck Services

PostgreSQL

Total

10sph

50

400%

2.5k

10k

Read: 15,000
Write: 9,000

CPU: 12 core
Memory: 30 GB

CPU: 2 core
Memory: 8 GB

CPU: 14 core
Memory: 38 GB

120sph

120

0%

3k

13k

Read: 15,000
Write: 15,000

CPU: 13 core
Memory: 46 GB

CPU 4 core
Memory: 16 GB

CPU: 17 core
Memory: 62 GB

250sph

300

20%

7.5k

15k

Read: 15,000
Write: 15,000

CPU: 17 core
Memory: 118 GB

CPU: 6 core
Memory: 24 GB

CPU: 23 core
Memory: 142 GB

500sph

650

30%

18k

18k

Read: 15,000
Write: 15,000

CPU: 28 core
Memory: 210 GB

CPU: 10 core
Memory: 40 GB

CPU: 38 core
Memory: 250 GB

1000sph

1400

40%

26k

25k

Read: 25,000
Write: 25,000

CPU: 47 core
Memory: 411 GB

CPU: 18 core
Memory: 72 GB

CPU: 65 core
Memory: 483 GB

1500sph

1600

6%

41k

28k

Read: 25,000
Write: 25,000

CPU: 66 core
Memory: 597 GB

CPU: 26 core
Memory: 104 GB

CPU: 92 core
Memory: 701 GB

2000sph

2300

15%

50k

35k

Read: 60,000
Write: 25,000

CPU: 66 core
Memory: 597 GB

CPU: 34 core
Memory: 136 GB

CPU: 100 core
Memory: 733 GB

PostgreSQL Settings

Customers using the PostgreSQL container will need to set the values manually using ALTER SYSTEM,
and changes to shared_buffers won't take effect until after the next time that PostgreSQL is restarted.
These settings apply to both Kubernetes and Swarm installations.

Name

Scans/Hour

PostgreSQL CPU/Memory

shared_buffers (MB)

effective_cache_size (MB)

Name

Scans/Hour

PostgreSQL CPU/Memory

shared_buffers (MB)

effective_cache_size (MB)

10sph

50

CPU: 2 core

Memory: 8 GB

2654

3185

120sph

120

CPU: 4 core

Memory: 16 GB

5338

6406

250sph

300

CPU: 6 core

Memory: 24 GB

8018

9622

500sph

650

CPU: 10 core

Memory: 40 GB

13377

16053

1000sph

1400

CPU: 18 core

Memory: 72 GB

24129

28955

1500sph

1600

CPU: 26 core

Memory: 104 GB

34880

41857

2000sph

2300

CPU: 34 core

Memory: 136 GB

45600

54720

Note: The amount of required disk space is dependent on the number of projects being managed, so individual requirements can vary. Consider that each project requires approximately 200 MB.

BDBA scaling is done by adjusting the number of binaryscanner replicas and by adding PostgreSQL resources based on the expected number of binary scans per hour that will be performed. For every 15 binary scans per hour, add the following:

  • One binaryscanner replica

  • One CPU for PostgreSQL

  • 4GB memory to PostgreSQL

If your anticipated scan rate is not a multiple of 15, round up. For example, 24 binary scans per hour would require the following:

  • Two binaryscanner replicas

  • Two additional CPUs for PostgreSQL

  • 8GB additional memory for PostgreSQL

This guidance is valid when binary scans are 20% or less of the total scan volume (by count of scans).

Black Duck Software recommends monitoring disk utilization on Black Duck servers to prevent disks from reaching capacity which could cause issues with Black Duck.

Note: Installing Black Duck Alert requires 1 GB of additional memory.

 

 

 

©2023 Synopsys, Inc. All Rights Reserved