Как ускорить VPS ?

Настрой sftp через openssh сервер и будет тебе щастье.
Но надо разобраться как это сделать,
хотя можно подключаться и по scp (если юзеру шел доступ не закрывать, то будет работать сразу).

Бонус sftp в том что его можно настроить в chroot режиме - файлы сервера по sftp будут недоступны, кроме хоума юзерского. Аналогично как это у простого фтп.

кстати, vsftpd кушает совсем мало ресурсов, на нём сэкономить не особо выйдет.
 
Настрой sftp через openssh сервер и будет тебе щастье.
Но надо разобраться как это сделать,
хотя можно подключаться и по scp (если юзеру шел доступ не закрывать, то будет работать сразу).

Бонус sftp в том что его можно настроить в chroot режиме - файлы сервера по sftp будут недоступны, кроме хоума юзерского. Аналогично как это у простого фтп.

кстати, vsftpd кушает совсем мало ресурсов, на нём сэкономить не особо выйдет.

Раз мало, значит не будем трогать. Но всё же хотелось бы понять, sftp bitvise и vsftpd как то взаимосвязаны ? На 99% я уверен, что да, и что первое без второго работать не будет, но всё же... может вопрос тупой, но всё же хотелось бы убедиться.
 
sftp, ftp, scp это всего лишь протоколы передачи данных.

sftp, scp - шифрованный, причем scp поддерживается наверное любым ssh сервером сразу, но scp требует включенного шел доступа у аккаунта на сервере.
ftp - нешифрованная (в общем случае) передача данных.

vsftpd "из коробки" умеет только ftp (про подключение к нему tls тут не будем, то отдельная тема)

что умеет твой клиент bitvise - не могу сказать, лень копаться, но в общем случае нормальный клиент умеет все эти протоколы.

просто надо помнить, что фтп работает по 21 порту, а sftp/scp по 22, тому где ssh и так станет проще понимать, где открыто где зашифрованно передаются данные и какой софт на сервере за это отвечает (упрощенно, но лучше так чем никак)

и да, клиентов много, даже total commander / far умеют всё это, но если по быстрому надо что-то хорошо работающее и бесплатное - Для просмотра ссылки Войди или Зарегистрируйся пробуй.
 
за scp отвечает sshd, который итак по умолчанию включен обычно, короче vsftpd не нужен, сам bitwise юзаю давно, и отказался от фтп в принципе.
 
В Nginx можно файловый кэш включить
NGINX:
    # кешировать информацию о файлах
    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;   
    directio 4m;
    max_ranges 4;
    postpone_output 512;
    sendfile_max_chunk 2M;
    underscores_in_headers on;         
  
       # закрытие медленных соединений
    keepalive_timeout                 5 5;
    keepalive_requests                 100;
    # Таймаут при передаче ответа клиенту
    send_timeout 2;
    
    # Если клиент перестал читать отвечать - сбрасывать соединение с ним
    reset_timedout_connection       on;
    client_body_timeout             10;
client_header_timeout 10;

Можно включить в nginx
aio on;
aio_write on;
на Хабре есть заметка по этому поводу, по сути это поддержка асинхронного файлового ввода-вывода. Потенциально, эта фича способна устранить одно из узких мест веб-сервера — полную блокировку процесса при файловом IO.

В настройках хоста проверить http2 если есть ssl конечно ж
NGINX:
listen Ваш_IP:443 ssl http2;

В PHP глянуть конфиг и включить/настроить OPCACHE
Может еще что-то есть, все не припомню. Gzip сжатие например, отключение ненужных модулей apache, возможно отключение ipv6. Настройка Swap.

Иногда правят параметры в sysctl.conf

NGINX:
# Защита от спуфинга
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1

#Разрешить бинд нелокальных адресов
net.ipv4.ip_nonlocal_bind = 1

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
# Защита от SYN-флуда
net.ipv4.tcp_syncookies=1

# Отключаем перенаправление пакетов с одного сетевого интерфейса на другой
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
#net.ipv6.conf.all.forwarding=0
#net.ipv6.conf.default.forwarding=0


# Откл ipv6


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

# Против ICMP перенаправлений
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_redirects = 0
#net.ipv6.conf.all.secure_redirects = 0

# Log Martian Packets
net.ipv4.conf.all.log_martians = 1

# Оптимизация изменения размера TCP окна
net.ipv4.tcp_congestion_control = cubic

# flush cached window size
net.ipv4.route.flush = 1

# Защита от smurf-атак
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Защита от неправильных ICMP-сообщений
net.ipv4.icmp_ignore_bogus_error_responses = 1

net.core.netdev_max_backlog = 10000
net.ipv4.tcp_window_scaling = 1

# Увеличиваем число входящих соединений, которые могут стоять в очереди, прежде чем будут отброшены
net.core.somaxconn = 65535

# Максимальное число сокетов, находящихся в состоянии TIME-WAIT одновременно.
# При превышении этого порога «лишний» сокет разрушается и пишется сообщение в системный журнал.
# Цель этой переменной – предотвращение простейших разновидностей DoS-атак.
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

# Проверять TCP-соединение каждые 2 мин. Если на другой стороне - легальная машина,
# она сразу ответит. Дефолтовое значение - 2 часа.
net.ipv4.tcp_keepalive_time = 120

# Повторить пробу через 30 секунд
net.ipv4.tcp_keepalive_intvl = 30

# Количество проверок перед закрытием соединения
net.ipv4.tcp_keepalive_probes = 5

# Переменная определяет максимальное время хранения SYN-запросов в памяти
# до момента получения третьего, завершающего установление соединения, пакета
net.ipv4.tcp_max_syn_backlog = 1024

# Уменьшение времени удержания «полуоткрытых» соединений
net.ipv4.tcp_synack_retries=1

# Не используем ssthresh от предыдущих соединений
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1

# Контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap.
vm.swappiness=5

# Digital Ocean
net.core.wmem_max=12582912
net.core.rmem_max=12582912
net.ipv4.tcp_rmem= 10240 87380 12582912
net.ipv4.tcp_wmem= 10240 87380 12582912

# Уровень выделяемой памяти под использование дискового кэша.
vm.vfs_cache_pressure=50
client_header_timeout 10;

В общем может забыл чего, но основное указал.
 
Раз мало, значит не будем трогать. Но всё же хотелось бы понять, sftp bitvise и vsftpd как то взаимосвязаны ? На 99% я уверен, что да, и что первое без второго работать не будет, но всё же... может вопрос тупой, но всё же хотелось бы убедиться.
Bitvise и vsftpd это 2 разные программы и работают друг без друга. bitvise это комбайн, котрый сочетает в себе и ssh, и ftps, vsftpd это только ftp-сервер.
Что использовать - исключительно вкусовщина.
sftp, ftp, scp это всего лишь протоколы передачи данных.

sftp, scp - шифрованный, причем scp поддерживается наверное любым ssh сервером сразу, но scp требует включенного шел доступа у аккаунта на сервере.
ftp - нешифрованная (в общем случае) передача данных.

vsftpd "из коробки" умеет только ftp (про подключение к нему tls тут не будем, то отдельная тема)

что умеет твой клиент bitvise - не могу сказать, лень копаться, но в общем случае нормальный клиент умеет все эти протоколы.

просто надо помнить, что фтп работает по 21 порту, а sftp/scp по 22, тому где ssh и так станет проще понимать, где открыто где зашифрованно передаются данные и какой софт на сервере за это отвечает (упрощенно, но лучше так чем никак)

и да, клиентов много, даже total commander / far умеют всё это, но если по быстрому надо что-то хорошо работающее и бесплатное - Для просмотра ссылки Войди или Зарегистрируйся пробуй.
21 и 22 порт не панацея, это просто стандартные порты по умолчанию, их рекомендуется заменить на другие, для ssh 22 порт так вообще обязательно сменить.
 
Назад
Сверху