Ошибка FTP: 451 Transfer aborted. Insufficient memory or file locked.

12
N
На сайте с 06.05.2007
Offline
419
#11

А покажите вывод

netstat -an | grep ESTABL | wc -l

и

netstat -an | grep WAIT | wc -l

В nginx есть настройка keepalive_timeout. можно попробовать занизить до 3 секунд.

Может быть установка squid и varnish вместо nginx, которые поддерживают постоянные соединения с бекендом, поможет выжать остатки с этого VPS за счет небольшого числа соединений.

"Клиентской оптимизацией" сайтов не увлекались ? там часто советуют делать несколько разных http-хостов, но при этом число

соединений увеличивается пропорционально числу таких хостов.

Похоже, по сути вы упираетесь не в число сокетов, а в буфер данных в этих сокетах , но может быть уменьшение их числа тоже сработает.

Кнопка вызова админа ()
[Удален]
#12
netwind:
В nginx есть настройка keepalive_timeout

Неделю назад стояло 15 секунд. Потом сразу сменили на 5 сек. (думаю, смена на 3 секунды не решает ничего).

alesty добавил 29.01.2010 в 00:44

netwind:
squid и varnish вместо nginx

Неохота морочить голову, т.к. Аппач и Нжинкс и так по самые помидоры завязаны на ISP Manager - он их конфиги автоматом правит.

alesty добавил 29.01.2010 в 00:48

Вот вам нетстат (но имейте ввиду, что сейчас ночь - траф вполовину просел):

N
На сайте с 06.05.2007
Offline
419
#13

Ну так если вы не готовы морочить голову - просто на выделенный сервер переезжайте.

Вот последняя надежда - может вы уломаете хостера на sysctl :

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

Наверное, изменить настройки внутри контейнера не получится.

[Удален]
#14
netwind:
"Клиентской оптимизацией" сайтов не увлекались ?

клиентами и не пахнет - еле самим хватает ресурсов, как видите :)

Все сайты перерыли вдоль и поперек (DLE) - снизили всю возможную нагрузку.

Сегодняшние слова саппорта хоста:


alesty (20:36:54 28/01/2010)
добрый вечер. выможете сейчас посмотреть кол-во открытых соединений на 99.99.99.99 ?


***** support (20:37:15 28/01/2010)
да, сейчас посмотрю


***** support (20:39:04 28/01/2010)
очень много, 799


alesty (20:39:45 28/01/2010)
мы перевели аппач на 127,0,0,1:8080 - и нжинкс туду шлет всё. это уменьшает кол-во?


***** support (20:40:13 28/01/2010)
количество не уменьшило но нагрузки у вас нет большой несмотря на такое количество

alesty добавил 29.01.2010 в 00:54

netwind:
просто на выделенный сервер переезжайте.

Вопрос в другом: нужно решить ЭТУ проблему, т.к. переехав на дедик, с ней же и столкнемся через некоторое время, если не сразу - и опять, начинай сначала...

N
На сайте с 06.05.2007
Offline
419
#15
alesty:
Вопрос в другом: нужно решить ЭТУ проблему, т.к. переехав на дедик, с ней же и столкнемся через некоторое время, если не сразу - и опять, начинай сначала...

Так на дедике нет искусственных ограничений на сокеты. Сколько памяти есть столько и вытяните. Фактически хостер провожает слишком умных клиентов таким образом. Ну, по крайней мере, это было бы экономически оправдано, мне кажется.

И вообще, возвращаясь к первому посту : вы не пытались вместо ftp работать через sftp ? он же не создает большого числа соединений.

alesty:
при нагрузке сервера (днем в основном) PHP скрипты не могут достучаться до файлов: Function: GetElement_Image Line:927 => Cannot perform getimagesize for file: _http://***.com/***/1262646913_e6fd3d...251a1d6fc9.jpg - хотя, этот файл (и подобные ему) есть на сервере и прекрасно читаются по http-протоколу (PHP-код обработчика выверен до мелочей и оттестирован на многих сайтах). Доступ к файлам (группа/владелец) расписан корректно.

Вот это как бы не совсем правда. Зачем обработчику картинок скачивать с самого себя их по http, если можно просто открыть файл не расходуя сокеты ?

M
На сайте с 16.09.2009
Offline
278
#16
alesty:
Кстати, numtcpsock не растет - зато сильно растет tcpsnfbuf

tcpsnfbuf растет в failcnt - это плохо, но не фатально для

приложений, отказа соединений не будет. т.е. причина ошибки

с ftpd - определенно не в этом.

netwind:
Вот это как бы не совсем правда. Зачем обработчику картинок скачивать с самого себя их по http, если можно просто открыть файл не расходуя сокеты ?

Кстати, да. Ходить из _локально_ по HTTP за статикой или

подключаемыми файлами - не лучшая идея. И вполне вероятно

внесло большую лепту в проблему.

ТС не пробовал по нетстату сравнить пропорцию созданных с сервера локальных

соедиений (с IP сервера на IP сервера) со всем остальным?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
[Удален]
#17

netwind, я работаю именно по ftp.

Обработчик картинок - возьмем его часть:


$size = getimagesize($filename);

$filename передается как "/var/юзер/.../www/домен.ру/uploads/file.jpeg"

это файл есть и доступен по "http://домен.ру/uploads/file.jpeg"

в моменты пиковых нагрузок эта функция выдает ошибку - нет такого файла (а он то есть и доступен).

На том участке кода, что я привел - просто идет контроль наличия файла (для дебага).

Мне уже в голову закралось сомнение, что мы исчерпали ресурс файловой системы vds`а - на это наводит ошибка ftp-клиента (тотал коммандер) - 451-я и 425-я - "...buffer space..." и "...file locked..."

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий