We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
[HowTo] Optimize Apache, PHP and MySQL/MariaDB Performance for Low (1GB) RAM VestaCP VPS
[HowTo] Optimize Apache, PHP and MySQL/MariaDB Performance for Low (1GB) RAM VestaCP VPS
There are lots of requests from the visitors upon how to optimize Apache, php and MySQL/Mariadb server which are installed on VPS server with 1gb of RAM, Such 1 gb ram vps is enough powerful for single application and optimizations are necessary in order to Avoid OOM (out of memory) and take juice from it.
Optimization of Apache :
Optimize Apache which is installed on 1gb VPS, it recommended to use Apache MPM worker as prefork :-
Centos/RHEL:
Under Centos Open this file in editor:
And add this configs at the end of httpd.conf :
Then restart Apache server :
Ubuntu :
Under Ubuntu Open this file in editor:
Find and add/change this configs under apache2.conf file :
Then restart Apache server :
Optimization of MYSQL/MariaDB :
To optimize MySQL/Mariadb which is installed on 1gb VPS you need to add this configs in my.cnf under [mysqld] :
On Centos/RHEL based system you can add it in :
On Ubuntu/Debian based system you can add it in :
Optimization of Apache :
Optimize Apache which is installed on 1gb VPS, it recommended to use Apache MPM worker as prefork :-
Centos/RHEL:
Under Centos Open this file in editor:
Code: Select all
nano /etc/httpd/httpd.conf
Code: Select all
KeepAlive Off
<IfModule prefork.c>
StartServers 6
MinSpareServers 5
MaxSpareServers 15
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>
Code: Select all
service httpd restart
Under Ubuntu Open this file in editor:
Code: Select all
nano /etc/apache2/apache2.conf
Code: Select all
<IfModule mpm_prefork_module>
StartServers 3
MinSpareServers 5
MaxSpareServers 15
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>
Code: Select all
service apache2 restart
To optimize MySQL/Mariadb which is installed on 1gb VPS you need to add this configs in my.cnf under [mysqld] :
Code: Select all
[mysqld]
symbolic-links=0
skip-external-locking
key_buffer_size = 32K
max_allowed_packet = 4M
table_open_cache = 8
sort_buffer_size = 128K
read_buffer_size = 512K
read_rnd_buffer_size = 512K
net_buffer_length = 4K
thread_stack = 480K
innodb_file_per_table
max_connections=100
max_user_connections=50
wait_timeout=50
interactive_timeout=50
long_query_time=5
Code: Select all
/etc/my.cnf
Code: Select all
/etc/mysql/my.cnf
- Also consider adding SWAP to your VPS which will drastically stabalizes the 1 gb VPS : Create and Add Swap On Centos7 with VestaCP
- To optimize PHP just installed php-opcache and memcached (memcached need to be supported by script)
- Configure PHP memory limit not more than 128 mb.
- Use cache system which is provided by your script or for WordPress use WP super cache.