Amigopod VM Sizing Guide
The Amigopod ESX image is sized for very small deployments, 50 concurrent users or less. For larger customers, it is required to make VM resource modifications and software configuration changes. They are needed so Amigopod can scale to the number of concurrent users the server is licensed for. Without making the changes, the server will behave erratically such as slow loading pages, page timeouts, failed RADIUS authentications, and server crashes.
To increase the available disk space on a VM, please follow AP_TN-aIncreaseHD.pdf Technote. Hint: You do not expand the current partition. You have to add a second drive and use an Amigopod GUI tool to allocate the new space
1000 Concurrent Users
- Minimum VM Resource Specifications for 1000 Concurrent Users
- Equivalent to AirWave Professional server
- 2-4 CPU cores
- 8 GB RAM
- 100 GB Storage - Follow technote to resize
- Administrator -> System Control -> Database Configuration -> Options
- shared_buffers = 256MB
- max_connections = 100
- bgwriter_lru_maxpages = 600
- synchronous_commit = off
- RADIUS -> Server Configuration -> Server Options
- thread.start_servers = 12
- thread.max_servers = 32
- sql.num_sql_socks = 32
- sql.connect_failure_retry_delay = 5
- max_request_time = 16
- max_requests = 1024
- Administrator -> System Control -> Web Server
- Set Maximum Clients to 384
- Set HTTP timeout to 10 seconds
- Enable persistent HTTP connections
- Set Request Wait to 10 seconds
Restart services for the new changes to take effect.
2500 Concurrent Users
- Minimum VM Resource Specifications for 2500 Concurrent Users
- Equivalent to AirWave Professional server
- 4 CPU cores
- 12 GB RAM
- 150 GB Storage - Follow technote to resize
- Administrator -> System Control -> Database Configuration -> Options
- shared_buffers = 512MB
- max_connections = 200
- bgwriter_lru_maxpages = 600
- synchronous_commit = off
- RADIUS -> Server Configuration -> Server Options
- thread.start_servers = 12
- thread.max_servers = 64
- sql.num_sql_socks = 64
- sql.connect_failure_retry_delay = 5
- max_request_time = 16
- max_requests = 2048
- Administrator -> System Control -> Web Server
- Set Maximum Clients to 512
- Set HTTP timeout to 10 seconds
- Enable persistent HTTP connections
- Set Request Wait to 10 seconds
Restart services for the new changes to take effect.
5000 Concurrent Users
- Minimum VM Resource Specifications for 5000 Concurrent Users
- 6 CPU cores
- 24 GB RAM
- 250 GB Storage - Follow technote to resize
- Administrator -> System Control -> Database Configuration -> Options
- shared_buffers = 768MB
- max_connections = 300
- bgwriter_lru_maxpages = 600
- synchronous_commit = off
- Administrator -> System Control -> System Config
- net.ipv4.netfilter.ip_conntrack_max = 262144
- RADIUS -> Server Configuration -> Server Options
- thread.start_servers = 16
- thread.max_servers = 100
- sql.num_sql_socks = 100
- sql.connect_failure_retry_delay = 5
- max_request_time = 16
- max_requests = 4096
- Administrator -> System Control -> Web Server
- Set Maximum Clients to 1024
- Set HTTP timeout to 10 seconds
- Enable persistent HTTP connections
- Set Request Wait to 10 seconds
Restart services for the new changes to take effect.
10000 Concurrent Users
- Minimum VM Resource Specifications for 10000 Concurrent Users
- Equivalent to AirWave Enterprise server
- 8 CPU cores
- 48 GB RAM
- 450 GB Storage - Follow technote to resize
- Administrator -> System Control -> Database Configuration -> Options
- shared_buffers = 2048MB
- max_connections = 300
- bgwriter_lru_maxpages = 600
- synchronous_commit = off
- Administrator -> System Control -> System Config
- net.ipv4.netfilter.ip_conntrack_max = 262144
- RADIUS -> Server Configuration -> Server Options
- thread.start_servers = 16
- thread.max_servers = 100
- sql.num_sql_socks = 100
- sql.connect_failure_retry_delay = 5
- max_request_time = 16
- max_requests = 4096
- Administrator -> System Control -> Web Server
- Set Maximum Clients to 2000
- Set HTTP timeout to 10 seconds
- Enable persistent HTTP connections
- Set Request Wait to 10 seconds
- Administrator -> System Control -> Web Application -> Resources Limits
Restart services for the new changes to take effect.
Additional Notes
The Web Server Maximum Clients setting does not limit the concurrent users to that value. This setting restricts how many clients can access the captive portal pages hosted on Amigopod. Generally, the number of users accessing the web pages will be much smaller than the number of active sessions.
Every Apache client process spawned will consume approximately 10-12 MB. If you set the Maximum Clients value to 1024, Apache can consume over 10GB of memory alone. Please keep this in mind when selecting a value for Maximum clients. You need to consider how much total memory the system has and that other services such as RADIUS and the database will consume RAM as well.
The hard drive space requirements are suggestions. There are many sources that consume disk space including the data retention settings, how often new users are created, the number of sessions, and how often interim accounting updates are sent.
There will be many performance optimizations made in the 3.5 release.