Larvel application sizing-estimation process .

Shown below is a diagram of sizing-estimation process. It is not the only method for sizing deployment, but it should provide useful insight and guidance

1. Estimate user concurrency and throughput

In most use-case scenarios, the number of expected concurrent users is far less than the number of named users of system. A scenario in which all of the named users are simultaneously accessing the system is extremely rare. Normally, a globally distributed organization with users spread out all over the world experience about ⅓ of its named users online at any time during their individual 8-hour work days.

Concurrency typically ranges from 10% to 50+% for App deployments.

2. Estimate SeMA Application HW sizing

A- Every CPU core handles 2 Worker B- Worker can handle 120 Portal users C- Concurrent user = Users use app simultaneously with time session 5 sec D - Best practice of workers per machine from 17 to 33 [Due to processor queuing]

Number of portal Users [500000]
Number of concurrent users =  40 * 500000 / 100 = 200000 
× Number of Woker = 200000 / 20 = 100 Woker 
x Number of Workers / VM = 33
x Number of Core / VM = 16 core 
x RAM cacpity estimation [ 1 core * 4 ] = 16 * 4 = 64 Gb / VM

Minimum 4 VM with 16 core / 64 Gb RAM
Recommended 5 VM x with 16 core / 64 Gb RAM
 

3. Estimate SeMA DB HW sizing Database storage requirements may be estimated roughly using the following calculation:

Number of Users [ 5000 ]
× Number of events per host per day [ 15 ]
× 5Kb per event

Number of Users × Number of events per host per day
× 5Kb per event

For example, an organization of 5,000 Users, with each user generating 
an average of 15 events per day, 
requiring a 30 day retention would require a database capacity of:
## DB stoage sizing / Month
      5,000 × 15 × 5 × 30 = 11,250,000Kb, or 11Gb

## DB stoage sizing / Year
      11 GB per Month x 12 = 132 Gb / Year

DB HW sizing for 5000 client connections / sec

# DB Version: 14
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 96 GB
# CPUs num: 24
# Connections num: 5000
# Data Storage: san

max_connections = 5000
shared_buffers = 24GB
effective_cache_size = 72GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 300
work_mem = 1258kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 24
max_parallel_workers_per_gather = 4
max_parallel_workers = 24
max_parallel_maintenance_workers = 4

4. Estimate SeMA File Storage HW sizing

x Number of users  [ 5000 ]
× Number of survey per user  per day  [ 2 ]
× 25 Mb per survey attachment  [ 25 mb ]
Number of Users × Number of survey per user  per day
× 25 Mb per survey attachment

## File storage sizing / Month

      5,000 × 2 x 25 Mb × 30 = 750 Gb

## File storage sizing / Year
 
      750 GB per Month x 12 = 9 TB  / Year

SeMA App file storage can start with 4 TB and extend based on monitoring actual usage of storage

Last updated