Skip to content

Settings that fit your hardware.

Deploykin analyzes your server's resources and automatically selects optimal MySQL, PHP-FPM and Nginx settings. Apply the recommendations in a single click.

  • 7 days free
  • No card required
  • Payment in rubles
Set the server — see the settings
vCPU
Memory, GB
Role

MySQL

3200M innodb_buffer_pool_size
500 max_connections

PHP-FPM

20 pm.max_children
512M memory_limit
491M OPcache

Nginx

4096 worker_connections

by defaultDeploykin recommendation

3
services tuned: MySQL, PHP-FPM and Nginx
4
tuning profiles — one per server role
20+
parameters in the recommendations
1click
to apply the recommendations for a service

What gets tuned

Three services — dozens of parameters.

No need to search for «optimal MySQL settings for 8 GB RAM». Deploykin figures it all out itself based on the server's actual resources. A block is shown only for what is installed: no MySQL — nothing to tune.

Calculating recommendations4 vCPU · 8 GB · all-in-one server

MySQL

The InnoDB buffer pool gets a share of memory based on the server's role, and the connection limit grows with the amount of RAM. The slow query log is turned on with a 2-second threshold.

innodb_buffer_pool_size40% of memory
3200M
innodb_log_file_sizea quarter of the buffer pool
800M
max_connections100 + 50 per GB
500
max_allowed_packet256M from 4 GB of memory, 64M otherwise
256M
slow_query_logslow query log
on
long_query_timeslow query threshold, seconds
2.00

PHP-FPM

The number of workers is capped by both memory and cores — the lower value wins. The script memory limit and the OPcache size follow the amount of RAM.

pm.max_children5 per core, up to 30% of memory
20
pm.start_serversa quarter of max_children
5
pm.min_spare_servers15% of max_children
3
pm.max_spare_servers35% of max_children
7
memory_limit192–512M by amount of memory
512M
upload_max_filesizepost_max_size gets the same
64M
max_execution_timeseconds per request
60
max_input_varsvariables per request
3000
OPcache6% of memory, from 128 to 512M
491M

Nginx

One worker per core, connections sized by memory. The upload limit matches the PHP limit, gzip is on and the Nginx version is hidden.

worker_processesone worker per core
auto
worker_connections1024–4096 by amount of memory
4096
keepalive_timeoutseconds
65
client_max_body_sizesame as the PHP upload limit
64M
gzipcompression of text responses
on
server_tokensNginx version hidden
off

Panel

Auto-tune in the panel. Pick what to look at.

Current values sit next to the recommended ones — every difference is visible. This is a copy of the panel with demo data — click around or watch the tour.

app.deploykin.com

01 / 06Auto-tune lives in the server menu, under Settings.

Click in the panel to take control

Applying

One click — and a config backup in case of an error.

The “Apply recommendations” button runs the same action as saving settings by hand: config backup, writing the values, a check and a service reload.

Nginx

rolled back — the service never stopped

Config backupthe file is saved before the edit
New valuesrecommendations written to the config
Verificationnginx -t
Reloadcheck passed — reload without downtime
Rollbackcheck failed — the config comes back from the copy
  • PHP-FPM: php-fpm -t check, then reload
  • Nginx: nginx -t, reload and a check that the service is active
  • MySQL: restart, and on failure — back to the previous config
PHP-FPMprod-01 · PHP 8.4
Apply allApply recommendations
Current → Recommended
pm.max_children20
applied
pm.start_servers2 → 5
Apply
memory_limit512
applied
max_input_vars3000
matches
Applied one by one2 / 3
One value at a time

Not all at once — go row by row

Not ready to change the whole block? Every parameter that differs from the recommendation has its own button: only that value is applied, the rest stay as they were.

  • “Apply only this value” — in every row
  • Differences from the recommendations are visible at a glance
  • The panel leaves matching parameters alone
MySQL settingsprod-01 · MySQL 8.0
Save
Max connectionsmatches the recommendation
500
InnoDB buffer poolmatches the recommendation
3200M
InnoDB log filematches the recommendation
800M
Slow querieslog · longer than 2 s
Saved · MySQL restarted
Hints in settings

The recommendation — right under the field

On the MySQL and PHP settings pages, key fields show the value calculated for your server — with the same formulas as auto-tuning.

  • MySQL: connections, InnoDB buffer pool and log file
  • PHP: pm.max_children, memory_limit and OPcache memory
  • The hint takes the server's profile into account
Auto-tuningprod-01 · Laravel
3 recommendations
CPU cores4
Memory8 GB

Current → Recommended

innodb_buffer_pool_size
1536M → 3200M
pm.max_children
10 → 20
worker_connections
2048 → 4096
Plan changed: 4 vCPU · 8 GB
Plan change

New plan — new calculation

Auto-tuning works from the server's latest metrics. Move to a plan with more memory or add cores — new recommendations appear next to the current values.

  • Resources come from metrics — no need to enter them by hand
  • Values sized for the old amount of memory show up as differences
  • No metrics yet — the panel asks you to sync the server

Profiles

The server's role changes the formulas.

The same VPS is tuned differently depending on whether it runs everything, only the database or only queues. Deploykin derives the tuning profile from the server type.

How memory is split

InnoDBPHP-FPMsystem and everything else

max_connections
PHP workers per core
worker_connections

All-in-one server

Laravel, WordPress, web and the other types
max_connections
up to 500
PHP workers per core
5
worker_connections
by memory size

Dedicated database

the “Database” and “Database admin” types
max_connections
up to 1000
PHP workers per core
3
worker_connections
by memory size

Queue worker

the “Worker” type
max_connections
up to 200
PHP workers per core
8
worker_connections
by memory size

Load balancer

the “Load balancer” type
max_connections
up to 100
PHP workers per core
3
worker_connections
16 384

Change the server type — you get a notification, and the panel leaves the values alone. Server management

FAQ

What to know before the first click.

A short take on what auto-tuning does itself and what it leaves to you.

Does auto-tuning change settings on its own?

No. It calculates recommendations and shows them next to the current values. Configs change only when you click “Apply recommendations” or apply a single value. Even when the server type changes, the panel only sends a notification.

Will applying cause downtime?

PHP-FPM and Nginx re-read the config with a reload, without stopping the service. MySQL is restarted: some of its parameters are read only at startup, so apply database recommendations during a quiet period.

Can I get the previous values back?

If applying fails, Deploykin restores the config from the backup it made before the change. After a successful apply the backup is removed — previous values are brought back manually in the MySQL, PHP or Nginx settings.

What if the configs were edited by hand?

The panel regularly reconciles settings with the files on the server, so the “Current” column shows what is actually written in the config, not what was once saved in the panel.

Will this work for an unusual workload?

The formulas are deliberately conservative: they leave memory headroom for the OS and neighboring services. They are a solid starting point for a typical server, not a replacement for hand tuning — any value can be adjusted in the service settings.

In the panel 203.0.113.21 Connect done in 4 min 52 s

Optimize your server in a minute.

Connect a server — Deploykin will detect the resources and suggest optimal MySQL, PHP-FPM and Nginx settings.

  • 7 days free
  • No card required
  • Human support

We use cookies and the Yandex Metrica web-analytics service (including Session Replay) to improve the site. Details are in the privacy policy.