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

12
[Удален]
7694

Есть ВДСка 2гига оперативы, 2ггц проц, 80гиг диск.

На нём крутятся 10-15 высокопосещаемых сайтов (двиг ДЛЕ) - в сумме трафа 120К (250К просмотров) / сутки, не считая ботов и сапы.

Днем, в пиковые нагрузки (и ночью тоже) при работе на FTP (скачать/закачать/отредактировать файл) постоянно вылазит ошибка 451 Transfer aborted. Insufficient memory or file locked. (работаю через Total Commander, но не в нем дело).

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

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

В общем, складывается впечатление, что есть проблемы с файловой системой (возможно, с сокетами).

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

M
На сайте с 16.09.2009
Offline
278
#1

начать с того, что посмотреть error логи апача и/или nginx-а (если есть).

системные логи (/var/log/*, смотрим по /etc/syslog.conf - куда пишутся *.*) - поймите,

почему у вас 451 ftp-демон говорит, там будет написано.

если VPS на базе OpenVZ/Virtuozzo - смотрим /proc/user_beancounters

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

Еррорлог Аппача обильно усеян:


...
[warn] (105)No buffer space available: connect to listener on [::]:8080
...
...
...
[warn] (105)No buffer space available: connect to listener on [::]:8080
...

/proc/user_beancounters Permission denied

В логе proftp огромное количество:


...
notice: user: *****: aborting transfer: Insufficient memory or file locked
...
...
...
notice: user: *****: aborting transfer: Insufficient memory or file locked
...

В ерорлоге нжинкса ничего подозрительного - только ругня на несуществующие картинки изредка (например, ошибка шаблона сайта и т.д. - ничего серьезного).

alesty добавил 28.01.2010 в 15:53

ну и на закуску:

M
На сайте с 16.09.2009
Offline
278
#3
alesty:
/proc/user_beancounters Permission denied

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

Например от root.

Вероятнее всего, в текущей конфигурации нехватает памяти. Нужно либо смотреть

VPS на предмет возможных оптимизаций - либо перейти на другой тарифный план.

[Удален]
#4

myhand, от рута и смотрю, блин.

myhand:
либо перейти на другой тарифный план

это "максимальный" - хостер http://вдс64.com/vds , тариф VDS-Mega (75 баков).

myhand:
смотреть
VPS на предмет возможных оптимизаций

- хостер даже на платной основе ничего не может оптимизировать, а доверять посторонним людям не могу.

Всё что мог, сам оптимизировал.

M
На сайте с 16.09.2009
Offline
278
#5
alesty:
myhand, от рута и смотрю, блин.

Достаточно странно, покажите


ls -l /proc/user_beancounters
alesty:
это "максимальный"
- хостер даже на платной основе ничего не может оптимизировать, а доверять посторонним людям не могу. Всё что мог, сам оптимизировал.

Тогда вариантов немного - берите другой VPS или дедик. Ну, или применяйте

агрессивные методы оптимизации. Например, кеширование на nginx.

[Удален]
#6

myhand,

и вот:

Агрессивные методы на Нжинксе не покатят - т.к. сайты постоянно меняются. Стоит кеш на аппаче и еакселератор.

M
На сайте с 16.09.2009
Offline
278
#7

нормальные разрешения стоят на файле, сделайте:


cat /proc/user_beancounters

NB:

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

таки доверить посторонним людям настройку сервера?

[Удален]
#8

myhand, ну извините, затупил немного.

M
На сайте с 16.09.2009
Offline
278
#9

Главная проблема: numtcpsock (смотрим колоночку failcnt).

Вам нужно как-то оптимизировать утилизацию TCP-сокетов. В первую очередь,

нужно смотреть как связка nginx/апач устроена, может у вас апач слушает внешний IP.

Ограничить многопоточность в proftpd. И т.д.

NB: http://wiki.openvz.org/UBC

[Удален]
#10
myhand:
В первую очередь,
нужно смотреть как связка nginx/апач устроена, может у вас апач слушает внешний IP.

так и есть.

Уже перенастроил - теперь Нжинкс кидает всё Аппачу на 127.0.0.1:8080. За 2 часа наблюдений ничего не изменилось :(

Кстати, numtcpsock не растет - зато сильно растет tcpsnfbuf (сравните с предидущим скрином):

12

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