Welcome! Log In Create A New Profile

Advanced

В логах часто появляется unlink() failed

Posted by hungry 
В логах часто появляется unlink() failed
October 31, 2011 05:11AM
Здравствуйте.

Подскажите пожалуйста, в каком направлении смотреть, чтобы решить следующую проблему.
В логах nginx в определенное время дня появляется очень много сообщений вида:

2011/10/31 10:20:51 [crit] 5568#0: unlink() "/var/www/site.ru/storage/cache/3/a6/e758a2c5b5deb09be150999d50901a63" failed (2: No such file or directory)

Я обратил внимание на то, что изо дня в день это происходит в течение примерно двух часов, в разное время, в основном с утра и после обеда:

2011/10/27 с 10 до 12, с 16 до 17
2011/10/28 с 11 до 14, с 17 до 18, в 22 часа
2011/10/29 с 11 до 13
2011/10/30 с 15 до 16
2011/10/31 с 10 до 13 (и продолжают появляться на момент написания поста)

Примерно на это время как раз и приходится пик посещаемости сайта. Всего в день около 10 тысяч хитов.

Данные системы:

Ubuntu maverick 10.10
2.6.35-30-generic #60-Ubuntu SMP Mon Sep 19 20:42:44 UTC 2011 x86_64 GNU/Linux
nginx/1.0.8 из репозитория на http://ppa.launchpad.net/nginx/stable/ubuntu

Конфиг:

# ключ для кеширования
fastcgi_cache_path /var/www/site.ru/storage/cache levels=1:2 keys_zone=site:16m inactive=30m max_size=1024m;

# настройки сервера
server {

listen 80;
server_name _ default;
root /var/www/site.ru/html;

# логи
access_log off;
error_log /var/www/site.ru/logs/error.log;

# настройка страниц с ошибками
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx;
}

# location по умолчанию, с кешированием
location / {
try_files $uri @zend_framework_with_cache ;
}

# админка, не кешируем тут ничего
location /admin {
try_files $uri @zend_framework_without_cache ;
}

# Zend Framework БЕЗ кеширования вывода
location @zend_framework_without_cache {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/php/index.php;
fastcgi_pass 127.0.0.1:9000;
}

# Zend Framework с кешированием
location @zend_framework_with_cache {
# настройки кеширования
fastcgi_ignore_headers "Expires" "Cache-Control";
fastcgi_cache site;
fastcgi_cache_valid 1d;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/php/index.php;
fastcgi_pass 127.0.0.1:9000;
}

# Обычные php файлы, без кешированя
location ~\.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}
Re: В логах часто появляется unlink() failed
November 16, 2011 05:09PM
1. возможно фаил в данный момент еще открыт
2. возможно уже удален

3. проверь ulimit -n
возможно попробуй увеличить там может быть стандартное значение что то вроди 1024 файла одновременно

4. попробуй мувни папку cache на tmpfs диск ;)

что то вроди

/etc/fstab
>>
tmpfs /var/www/site.ru/storage/cache tmpfs defaults,uid=123,gid=123,size=2g 0 1
<<

где 123 is ID пользователя nginx

id nginx - покажет id, или cat /etc/passwd | grep nginx

2g - 2 гигабайта виртуальный диск в оперативке

Я так делал для мускула чтобы понизить IO на HDD для временных таблиц мускула.

[root@mysql ~]# cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /var/cache/mysql tmpfs defaults,size=2g,uid=27,gid=27 0 1
[root@mysql ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@mysql ~]#
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 243
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready