Оглавление
Установка и настройка VPS c ОС Ubuntu или Debian
Еще не купили / арендовали VPS? Изучите статью «Как выбрать VPS, панель управления и Web-сервер«. Пришло время настроить VPS на максимальную производительность. Рассмотрим процесс настройки сервера на базе Debian / Ubuntu. ОС установлена (это делается в панели управления хостингом).
Обновление и настройка ПО на сервере
Вход через ssh:
ssh пользователь@ip
Пользователь — чаще всего root (не является безопасным). Вместо ip вводите адрес сервера. Все данные входа должен дать хостер. У серьезных хостеров вход по ssh ключам. Команда подключения:
ssh пользователь@ip
Подключение успешно:

Обновите сервер:
apt update && apt upgrade
apt install atop mc
Настройте файловую систему. VPS, внезапное отключение электричества не грозит.Некоторое снижение надежности файловой системы не критично. Прирост скорости операций с диском — 10-15 процентов.
Файловая система
Существует три разных варианта журналирования файловой системы ext4:
- Journal Mode (медленный, наиболее безопасный)
- Ordered Mode (средняя скорость, безопасный, опция по умолчанию)
- Writeback Mode (быстрый, относительно безопасный)
Узнаем имя диска на виртуальной машине:
df -h
Наш диск — /dev/vda2. Тюним его.
tune2fs -o journal_data_writeback /dev/vda2
Открываем /etc/fstab, вносим изменения. Добавляем noatime,nodiratime,noacl,data=writeback,commit=15,barrier=0. Файл до редактирования:
/dev/vda2 / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
После редактирования:
/dev/vda2 / ext4 noatime,nodiratime,noacl,data=writeback,commit=15, barrier=0,errors=remount-ro 0 1
/swapfile none swap sw 0 0
Редактируем /etc/default/grub добавляем rootflags=data=writeback. Новая версия: GRUB_CMDLINE_LINUX_DEFAULT=»quiet elevator=noop fsck.repair=yes rootflags=data=writeback»
mcedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=»quiet elevator=noop fsck.repair=yes rootflags=data=writeback»
Обновляем загрузчик, перезагружаем систему:
update-grub
reboot
Подключаемся к серверу, продолжаем настройку. Значения параметров определяющих быстродействие измените на оптимальные. Установите лимиты открытия файлов, потребления ресурсов…
Лимиты
Внесем изменения в файл /etc/sysctl.conf
mcedit /etc/sysctl.conf
Добавим в конец файла (не забыв сохранить):
vm.swappiness = 1
fs.file-max = 130000
fs.nr_open=1048576
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.core.somaxconn = 300000
net.core.netdev_max_backlog = 8192
net.core.netdev_budget=600
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_fin_timeout = 10
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_fack = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.udp_mem = 8388608 12582912 16777216
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 87380 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_keepalive_time = 180
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 1000000
net.ipv4.ip_local_port_range = 1024 65535
net.nf_conntrack_max = 1000000
Почему именно так? Хотите разобраться (очень похвально) — изучите документацию. На серверах размещенных в яндекс.облако параметры net.* устанавливать нет смысла. Сервер имеет внутренний ip v6 и «локальный» ip типа 10.10.. — «внешний» ip сервер получает на уровне кластера.Редактируем /etc/security/limits.conf.
mcedit /etc/security/limits.conf
* soft nofile 130000
* hard nofile 130000
root soft nofile 130000
root hard nofile 130000
mysql soft core unlimited
mysql hard core unlimited
mysql soft nofile unlimited
mysql hard nofile unlimited
Перезагружаем сервер, изменения вступили в силу. Можно обойтись без перезагрузки, но так надежнее. Система полностью готова к развертыванию Web сервера.
Установка Cyberpanel и Web сервера Open LiteSpeed
Установка CyberPanel проста и выполняется одной командой:
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
Предложено установить панель, выбираем пункт 1.
Initializing...
Valid IP detected...
Checking server...
Checking OS...
Detecting Ubuntu 18.04...
Checking virtualization type...
Checking root privileges...
You are runing as root...
CyberPanel Installer v1.94
1. Install CyberPanel.
2. Addons and Miscellaneous
3. Exit.
Please enter the number[1-3]: 1
Снова выбираем пункт 1
CyberPanel Installer v1.94
RAM check : 71/5960MB (1.19%)
Disk check : 2/20GB (14%) (Minimal 10GB free space)
1. Install CyberPanel with OpenLiteSpeed.
2. Install Cyberpanel with LiteSpeed Enterprise.
3. Exit.
Please enter the number[1-3]: 1
Отвечаем y(yes) на предложение полной установки:
Install Full service for CyberPanel? This will include PowerDNS, Postfix and Pure-FTPd.
Full installation [Y/n]: y
Жмем <Enter> для установки последней версии:
Full installation selected...
Press Enter key to continue with latest version or Enter specific version such as: 1.9.4 , 1.9.5 ...etc
Устанавливаем пароль. Вводим сложный пароль (8 символов минимум). Повторяем ввод пароля.
Branch name set to v1.9.4
Please choose to use default admin password 1234567,
randomly generate one (recommended) or specify the admin password?
Choose [d]fault, [r]andom or [s]et password: [d/r/s] s
Please enter your password:
12325812
Please confirm your password:
12325812
Устанавливаем memcahed,redis, сторожевой таймер:
Do you wish to install Memcached extension and backend?
Please select [Y/n]: y
Do you wish to install Redis extension and backend?
Please select [Y/n]: y
Would you like to set up a WatchDog (beta) for Web service and Database service ?
The watchdog script will be automatically started up after installation and server reboot
If you want to kill the watchdog , run watchdog kill
Please type Yes or no (with capital Y):y
Время установки — 15, 20 минут.
###################################################################
CyberPanel Successfully Installed
Current Disk usage : 7/20GB (42%)
Current RAM usage : 256/5960MB (4.30%)
Installation time : 0 hrs 17 min 7 sec
Visit: https://193.164.16.49:8090
Panel username: admin
Panel password: 12325812
WebAdmin console username: admin
WebAdmin console password: TakewFU1f5K7OJDS
Please change your default admin password
If you need to reset your panel password, please run:
adminPass YOUR_NEW_PASSWORD
If you change mysql password, please modify file in
/etc/cyberpanel/mysqlPassword with new password as well
Website : https://www.cyberpanel.net
Forums : https://forums.cyberpanel.net
Wikipage: https://docs.cyberpanel.net
Enjoy your accelerated Internet by
CyberPanel & OpenLiteSpeed
###################################################################
If your provider has a network-level firewall
Please make sure you have opened following port for both in/out:
TCP: 8090 for CyberPanel
TCP: 80, TCP: 443 and UDP: 443 for webserver
TCP: 21 and TCP: 40110-40210 for FTP
TCP: 25, TCP: 587, TCP: 465, TCP: 110, TCP: 143 and TCP: 993 for mail service
TCP: 53 and UDP: 53 for DNS service
Would you like to restart your server now? [y/N]: y
Сохраните логины, пароли для доступа в CyberPanel и WebAdmin, перезагрузите сервер. CyberPanel и WebAdmin, Open LiteSpeed Server, ftp, mail,dns сервера, firewall и многое другое установлены «в один клик».
Есть все, что нужно для создания нового сайта, переноса существующего. Вы можете даже организовать свой виртуальный хостинг и продавать услуги по размещению сайтов.
Уже сейчас сервер полностью функционален, минимум впятеро быстрее Apache и Nginx. Можно начать работать, но я предлагаю заняться настройкой и тюнингом OLS, SQL и PHP.
Настройка и оптимизация Open LiteSpeed
Настраивать OLS и хосты можно текстовыми конфигурационными файлами. На мой взгляд гораздо удобнее и нагляднее настраивать сервер из WebAdmin в браузере. он доступен по адресу https://ip-servera:7080/ . Вы получите сообщение о том, что ваше соединение не защищено.

Жмем <Advanced>. И подтверждаем согласие продолжить использовать небезопасное соединение. (Не составляет труда установить ssl сертификат, но это можно сделать и позже). Вводим логин и пароль (они у вас были созданы на этапе создания сервера).
Если вы не можете получить доступ к консоли, вам необходимо разрешить соединение на порт 7080 в firewall. Сделать это можно в Cyberpanel.
- Log in to Cyber Panel — Security — Firewall
- Add Rule Name » webpanel «
- Select TCP
- IP Address » 0.0.0.0/0 «
- Port » 7080 «
- Click on Add — Then, Reload The Page and Confirm Port 7080 is Added.
WebAdmin
Пришло время познакомиться с интерфейсом и возможностями WebAdmin. Несмотря на кажущуюся сложность на самом деле все просто, функционально и логично.

Обратите внимание на предупреждение о том, что появилась новая версия сервера.
CURRENT VERSION: OpenLiteSpeed 1.6.7 New Release: 1.6.8 (current branch)
Обновим сервер и выполним перезагрузку.
wget https://raw.githubusercontent.com/litespeedtech/ openlitespeed/master/dist/admin/misc/lsup.sh
bash lsup.sh
Сервер обновлен, можно продолжить настройку.
Настройка сервера
Важно понимать — «задирание» сверх необходимого параметров призванных улучшить производительность VPS НЕИЗБЕЖНО ВЕДЕТ К ДЕГРАДАЦИИ.
Рассмотрим базовые настройки сервера — параметры прямо или косвенно влияющие на скорость.Очевидно, что на работу сервера влияет в с ё. Откроем вкладку Server Configuration > General

Для достижения максимальной производительности необходимо установить / изменить некоторые параметры:
Number of Workers (количество процессов) — по умолчанию для этого параметра установлено значение «Не установлено», что соответствует 1 ядру процессора.
Вы можете установить максимальное значение этого значения не более, чем количество ядер / потоков процессора, которые поддерживает ваш сервер.
В идеале вы должны оставить некоторые потоки процессора доступными для других процессов сервера. Установите этот параметр в соответствии с вашими потребностями (или пока оставьте по умолчанию). Увеличение количества процессов не всегда ведет к увеличению производительности.
Простое правило расчета количества процессов:
- меньше 4 cpu threads = 1/2
- 6-12 cpu threads = 1/3
- 13-16 cpu threads = 1/4
- 17-24 cpu threads = 1/6
- 25-32+ cpu threads = 1/8
Priority (приоритет серверных процессов) : Очень важный параметр. Определяет приоритет процессов сервера. Диапазон значений от -20 до 20. Меньшее число означает более высокий приоритет. Определяет приоритет процессов сервера. Диапазон значений от -20 до 20. Меньшее число означает более высокий приоритет.
Этот параметр напрямую зависит от параметра nice SQL (как его установить мы еще поговорим). В идеале они должны совпадать. Оптимальное значение -10. В том случае когда SQL слишком «тяжел» лучшим решением будет дать ему больший приоритет (например установить его в -15).
CPU Affinity («привязка» к процессору): связывает процесс с одним или несколькими процессорами (ядрами). Для процесса всегда полезно использовать один и тот же процессор, потому что тогда процесс может использовать данные, оставленные в кэше процессора.
Если процесс перемещается на другой ЦП, кэш-память ЦП не используется, и возникают дополнительные накладные расходы ресурсов CPU.
Минимальное значение равно 0, что отключит эту функцию. Максимальное значение — количество ядер на сервере. Как правило, 1 является наилучшим параметром, поскольку он обеспечивает наиболее строгое использование привязки к процессору и, таким образом, максимально использует кэш-память процессора.
Memory I/O Buffer: Задает максимальный размер буфера, который используется для хранения тела запроса и его динамически генерируемого ответа. Когда этот лимит будет достигнут, сервер начнет создавать временные файлы подкачки.
Установите буфера, чтобы вместить все одновременные запросы / ответы, чтобы избежать swap памяти на диск. Оптимальное значение для начала 120M
Swapping Directory: Определяет каталог в который следует поместить файлы подкачки.
Сервер использует собственную виртуальную память, чтобы уменьшить использование системной памяти. Виртуальная память и подкачка диска используются для хранения больших тел запросов и динамически генерируемых ответов. Каталог подкачки должен быть размещен на диске с достаточным свободным пространством.
Поместите каталог подкачки на отдельный диск или увеличьте максимальный размер буфера ввода-вывода (смотрите выше — Memory I/O Buffer) , чтобы избежать подкачки. По умолчанию это каталог /tmp/lshttpd/swap.
Теперь можно заняться тюнингом OLS. Переходим во вкладку Server Configuration > Tuning и приводим параметры вашего сервера к тем, что приведены ниже.

Следующая вкладка требующая нашего внимания Server Configuration > External App

Изменяем некоторые настройки (возможно вам в зависимости от нагрузки на сервер придется их не раз корректировать):
- Max Connections = 45 (при не нагруженном сервере можно уменьшить до 30)
- Environment:
PHP_LSAPI_CHILDREN=45 (ВСЕГДА совпадает с Max Connections )
LSAPI_AVOID_FORK=200M
Есть еще масса настроек окружения, но их применение оправдано только в специфических случаях использования сервера.
- Priority = -5. Диапазон значений от -20 до 20. Меньшее число означает более высокий приоритет. Процесс внешнего приложения не может иметь более высокий приоритет, чем веб-сервер.
- Memory Soft Limit (bytes) = 2047M
- Memory Hard Limit (bytes) = 2047M
- Process Soft Limit = 1400
- Process Hard Limit = 1500
Первоначальная настройка параметров сервера завершена. Теперь можно настроить хосты (сайты).
Настройка сайтов в Open LiteSpeed
Пока у вас нет ни одного хоста кроме Example. Когда вы создадите свой первый сайт (это легко сделать в CyberPanel), то вам потребуется изменить некоторые параметры:
Вкладка Virtual Host ваш_домен > General:
- Enable Compression = Yes
- Enable Expires = Yes
- Expires By Type = image/=A604800,text/css=A604800,application/x-javascript=A604800,application/javascript=A604800,font/=A604800,application/x-font-ttf=A604800
Virtual Host ваш_домен External App:
- Max Connections = 30 (при не нагруженном сайте можно уменьшить до 20)
- Environment: PHP_LSAPI_CHILDREN=30 (ВСЕГДА совпадает с Max Connections, но должно быть МЕНЬШЕ этого значения на сервере)
- Memory Soft Limit (bytes) = 2047M
- Memory Hard Limit (bytes) = 2047M
- Process Soft Limit = 1400
- Process Hard Limit = 1500
Устанавливать эти параметры необходимо для каждого хоста. Настройка сервера / хостов этим не исчерпывается. Но для дальнейшего функционирования они не принципиальны (пока). Теперь можно перейти к настройке PHP и SQL
Настройка PHP
Многие параметры PHP явно или косвенно влияют на функциональность и производительность. OLS поддерживает одновременную работу нескольких версий PHP. Поэтому правки в php.ini надо вносить для конкретной версии. Пример: файл php.ini для версии 7.4 будет находиться /usr/local/lsws/lsphp74/etc/php/7.4/litespeed.
Изменения в php. ini:
- max_execution_time = 300
- max_input_time = 120
- max_input_vars = 3000
- memory_limit = 256M ; можно увеличить при необходимости
- post_max_size = 80M
- upload_max_filesize = 60M
Значения PHP можно изменить глобально (на уровне сервера) и «локально» — на уровне хоста. Параметры Opcache и memory_limit лучше устанавливать на уровне хоста.
«Мерлезонский балет» — акт последний: настройка SQL сервера.
Настройка MySQL / MariaDB server
От правильной настройки MySQL / MariaDB зависит насколько быстро будет работать ваш сервер / сайт. Все, что вы делали раньше может «превратиться в тыкву» если оставить параметры по умолчанию. Настройки mysql можно найти в /etc/mysql/my.cnf. Перед тем как вы будете создавать базы данных или переносить существующие стоит выполнить несколько простых действий:
- Решите какой «движок» будет по умолчанию. Если у вас таблицы MyISAM, возможно стоит перейти на Aria, но лучше использовать InnoDB.
- Установите последнюю версию MySQL / MariaDB
- Отредактируйте /etc/mysql/my.cnf:
[mysqld]
sql-mode="NO_ENGINE_SUBSTITUTION"
tmpdir = /dev/shm
skip-external-locking
skip_name_resolve
skip-host-cache
skip-log-bin
skip-networking
skip-innodb_doublewrite
bind-address=localhost
max_connections = 60
symbolic-links=0
sync_binlog = 0
wait_timeout = 60
interactive_timeout = 5
performance_schema = ON
low-priority-updates = 1
table_open_cache = 32000
tmp_table_size = 200M
max_heap_table_size = 200M
max_allowed_packet = 64M
thread_cache_size = 60
innodb_file_format=Barracuda
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT_NO_FSYNC
innodb_buffer_pool_instances = 1
innodb_buffer_pool_size = 1536M
innodb_log_file_size = 256M
innodb_file_per_table = 1
innodb_log_buffer_size = 256M
innodb_log_file_size = 192M
innodb_log_files_in_group=2
innodb_stats_on_metadata = 0
innodb_open_files = 65536
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_read_io_threads = 8
innodb_write_io_threads = 8
#innodb_io_capacity=6000
#innodb_io_capacity_max=10000
innodb_thread_concurrency = 4
innodb_checksum_algorithm=crc32
innodb_log_checksum_algorithm=crc32
table_open_cache_instances = 4
[mysqldump]
quick
quote-names
max_allowed_packet = 64M
default-character-set = utf8mb4
[mysql]
no-auto-rehash
default-character-set = utf8mb4
Данные параметры оптимальны для VPS с 3 гб оперативной памяти и двумя CPU. Для серверов с большим количеством оперативной памяти и CPU некоторые значения стоит изменить. Если используются NVMe диски то можно включить задокументированные параметры.
Нам осталось только изменить (увеличить) приоритет mysql и увеличить лимит на открытие файлов. Раньше это можно было сделать параметром nice и open_file_limits в my.cnf. Теперь в новых версиях это не работает.
Часть настроек теперь находится в /lib/systemd/system/. Отредактируйте файлы mariadb.service и mariadb@.service:
# Number of files limit. previously [mysqld_safe]
open-file-limit LimitNOFILE=130000
# Nice priority. previously [mysqld_safe] nice
Nice=-10
Это тот самый случай, когда сделали, а задокументировать забыли… Вот все и гадают, почему nice или не работает, или вызывает ошибку при запуске сервера БД.
Сохраните и перезапустите systemd командой
systemctl daemon-reload
Не знаю, баг это или фича, но настройки сбрасываются «по умолчанию» после обновления SQL сервера. Так что будьте внимательны.
В идеале, если вы все сделали правильно, то mysqltuner должен выдавать вот такую информацию:
——— Performance Metrics ————————————————————————
[—] Up for: 1d 8h 1m 26s (3M q [31.352 qps], 20K conn, TX: 36G, RX: 660M)
[—] Reads / Writes: 98% / 2%
[—] Binary logging is disabled
[—] Physical Memory : 2.9G
[—] Max MySQL memory : 2.4G
[—] Other process memory: 132.9M
[—] Total buffers: 2.2G global + 3.6M per thread (50 max threads)
[—] P_S Max memory usage: 80M
[—] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 2.3G (79.28% of installed RAM)
[OK] Maximum possible memory usage: 2.4G (84.25% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (0/3M)
[OK] Highest usage of available connections: 18% (9/50)
[OK] Aborted connections: 0.02% (5/20914)
[—] Skipped name resolution test due to skip_networking=ON in system variables.
[OK] Query cache efficiency: 45.7% (2M cached / 6M selects)
[OK] Query cache prunes per day: 49
[OK] Sorts requiring temporary tables: 0% (221 temp sorts / 39K sorts)
[OK] No joins without indexes
[OK] Temporary tables created on disk: 1% (1K on disk / 98K total)
[OK] Thread cache hit rate: 99% (9 created / 20K connections)
[OK] Table cache hit rate:94% (48K open / 59K opened)
[OK] Open file limit used: 0% (71/130K)
[OK] Table locks acquired immediately: 100% (662K immediate / 662K locks)
——— InnoDB Metrics —————————————————————————-
[—] InnoDB is enabled.
[—] InnoDB Thread Concurrency: 4
[OK] InnoDB File per table is activated
[OK] InnoDB buffer pool / data size: 1.5G/987.1M
[OK] InnoDB log file size / InnoDB Buffer pool size: 192.0M * 2/1.5G should be equal 25%
[OK] InnoDB buffer pool instances: 1
[—] InnoDB Buffer Pool Chunk Size not used or defined in your version
[OK] InnoDB Read buffer efficiency: 99.99% (151459597 hits/ 151477187 total)
[OK] InnoDB Write log efficiency: 96.88% (540590 hits/ 557984 total)
[OK] InnoDB log waits: 0.00% (0 waits / 17394 writes)
——— AriaDB Metrics —————————————————————————-
[—] AriaDB is enabled.
[OK] Aria pagecache size / total Aria indexes: 128.0M/1B
[OK] Aria pagecache hit rate: 99.5% (8M cached / 46K reads)
Есть полная уверенность в том, что сервер баз данных работает максимально производительно. При этом он очень экономно расходует ресурсы, при этом не нагружая дисковую подсистему, память и процессор.
Теперь все базовые настройки закончены. Можно использовать сервер. Собственно говоря тема настройки sql неисчерпаема. Например, можно «проапгрейдится» до TokuDB, запустить несколько экземпляров(инстансов) sql сервера, вынести его на другой сервер и наконец создать кластер из нескольких WEB серверов и SQL с репликацией, приклеить Load Balancer…
Заключение
Ваш сервер полностью готов к работе. Повторю еще раз: Сервер имеющий 3 ГБ оперативной памяти, пару CPU при правильной настройке способен «тащить» десяток WordPress сайтов с 30К уников при 15-18 процентной загрузке CPU. Это при том, что мой лимит VPS от яндекс 20% CPU. То есть, сервер использует 15-18 процентов от тех «жалких» 20%.
Если нагрузка увеличится до 100-120К уников, то сервер «съест» 70-80 процентов CPU. До некоторого момента, такой системе без разницы — обработать 1 запрос, 10 запросов или 1000 — нагрузка будет почти одинаковой, сервер и сайты на нем практически не замечают роста.
Нагрузка на сервер растёт не линейно, а по отрицательной экспоненте.
Когда сервер настроен оптимально дальнейший рост нагрузки замедляется, потому как происходит наложение и совмещение функций — code reuse например, кэши процессора, памяти, программ работают эффективно.
Даже при таких далеко не экстремальных настройках вы скорее упретесь в ограничение пропускной способности сети, чем исчерпаете хотя бы половину ресурсов сервера.
И это при том, что «за бортом» остались такие технологии как Redis, LSMCD (в девичестве memcache(d)). Кроме того, осталось за кадром использование связки серверного cache + LiteSpeed Cache и PageSpeed Module не говоря уже о Reverse Proxy. Это будет домашним заданием для вас и темами статей для меня.
Теперь вы можете создавать / переносить сайты. Это легко делать в CyberPanel.
Update: Кроме «серверных» оптимизаций еще есть над чем поработать на уровне сайтов. Например, в WordPress.
На уровне сервера то же есть простор для оптимизации, например, можно перекомпилировать ядро, php, OLS и прочее с «экстремальными» параметрами и получить еще 20 — 30 процентов ускорения.
…И немного тестов
Один хороший человек решил проверить на практике рекомендации данной статьи. Для тестирования выделил сервер на котором мы развернули OLS (Open LiteSpeed) и скопировали один его сайт на другой домен.
Не смотря на то, что сравнение получилось не совсем корректным по причине того, что сервер с сайтом донором намного мощнее, но очень показательным.
Из за того, что канал на тестовом сервере 10 мбит, мы уперлись в ограничение сети раньше, чем исчерпали возможности сервера. Даже ничего не настраивая и тюнингуя мы получили следующий результат: Сервер под OLS имеет в 10 раз меньшее время отклика и сайт работает в пять раз быстрее, несмотря на то, что канал уже в 10 раз.
Результаты тестов (развернуть)
На первый взгляд результаты так себе… А на второй, все становится понятно:


Результаты тестирования обекураживающе провальны для apache+nginx. Показательное избиение омоновцем младенца удалось. При условии, что тестирование проводилось бы на одинаковых серверах, результаты сравнения были бы еще более печальными для конкурентов Open LiteSpeed. Таким образом, вывод совершенно очевиден: OLS намного быстрее и эффективнее apache и nginx.
А CyberPanel разве не на один сайт в бесплатной версии? Или при такой установке можно много сайтов вести через неё?
Никаких ограничений в бесплатной версии нет. Можно вести много сайтов и аккаунтов. Полноценный хостинг можно организовать
А если сервер с 1,5 GB, то подойдут настройки или нужно что-то менять?
Надо настроить php и mysql с учетом того, что у вас 1.5гб ОЗУ.