Hostinger plans and prciing well desinged for price to peformace ratio. here i am going in indian rupees this amount also equals in dollar and other countries.
for selecting a hosting plans more imporant thing is memory.
we avoid starter plans becuase it clear limitation single website. and others have 100 +websites.
Brief: 1st check the basisc CPU resoruces like RAM, CPU, Disk Storage I/O. then go for application performance metrics like PHP mysql. basic metric gives 50%-75% idea of which plan to remaiting after testing on visual or realtime gives you 100% accuarate idea. try monthly plan 1st check and then buy for long term. 24 months ideal for pricing and future hikes.
Choosing right Hostinger Plan based on memory
Plan | Premium | business | cloud start |
Price 4 years contract | 149 rupees | 249 | 699 2.8x premium |
Storage | 100gb SSD | 200GB nvme | 200GB nvme |
files limit | 400000 (400K) | 600000 (600K) | 20,00,000 2M |
Cpu cores | 1 | 1 | 2 2x faster |
Memory | 1024MB | 1536MB | 3GB (2x) |
PHP memory limit (MB) |
1024MB | 1536MB | 3072MB or 3GB |
Php connections | 40 | 60 | 100 |
mysql max user connections | 50 | 75 | 100 |
mysql max connections | 500 | 500 | 500 |
DISK I/O | 12288 KB/s | 24576 KB/s | 10 240 KB/s |
Average request memory size of wordpress without caching static visitor
user request goes from browser >> apache server >> php mod>> mysql >> response back to user.
assumes users only visit and read. no comment, login etc.
Page size these days: 3MB we took 1MB for wordpress.
- conservative: 7MB
- Moderate: 10MB
- high: 32MB
- max: 64MB upto php_max memory limit.
caluclating is typical, but we assume 10MB for visitor / request 1GB allocated to account.
10*100=1000MB 100 conccurrent connections * 2x live visitors 200Live . But There is a limit of 40 connections to php and 50 connections mysql. so it cannot use more than 40 connections at a time. and also if request memory size Average 50MB then harldy 20 connections limited by RAM.
The default max_memory limit for WordPress is 40 MB for single sites and 64 MB for multisite networks. However, the optimal memory limit for a WordPress site depends on the site’s specific requirements, such as the plugins and themes being used.
Average request memory size of wordpress with caching
user request goes from browser >> apache server >> response back to user.
we must look for cahcing statics 50%.
50% OK. 50% user visits served from disk rather than mysql database
70% good we should atleast aim this but if cahce expiration set to 1 hour. additional memory wasted cahcing & cleaning.
85-90% very good: if cache statics 90% may enjoy the low plan for higher visits. i achived cloudlfare caching.
Php connections
php connections given 40 but max_memory limit given upto total account memory for max performance. but what if single request occupies 50% of memory then automatically 40 connections become 20 and CPU busy until process complete because its singe core.
we should also aim for how fast query executed or website loads and how often check avg pagespeed in google chrome light house.
MySQL connections based
MySQL uses more memory and cpu, because its cpu intensive..
if no caching enabled, the thumb rule in managed MySQL servers 100MB for 1 connections.
so here 1024MB 10 concurrent connections possible..
also there are sql limits query execution time in minutes, by default its 1 hour. but here user page has to be load in seconds.
testing with benchmark tools vps Digital ocean platforms
There is always a Free trial 300$ credit 60 days in digital ocean, linode, gooogle GCP. if anyone interested try testing apache bechnmarking tools abtest and sahre result on youtube.
hostinger firewall blocks by rate limiting method from singe ip address.
testing on vps plans with same configurations like php 40 connections MySQL 50 max.
Realtime testing with high traffic website is the best solution.
is testing really required
40 connection with 1024MB singe thread cpu wait time… cpu blocks other connection until its processed.
we are clearly seeing the limits.
concurrent connections sometimes high & low based on CPU, memory, disk I/O parameters
Outcoming the mysql user connections limit reached
you can switch mysql users and by cronjob in index.php , first create mysql users and assin them same databse and add php script wp-config php for a temorary solution which i tried on hostgator cloud hosting plan.
final words: resources limited but it also depends how our website or application using these resource. we should aim at least 50% higher resources of what we need for future & peak time hikes.