ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Блокирование диска на запись


  • To: nginx-ru@xxxxxxxxx
  • Subject: Блокирование диска на запись
  • From: Eugene Janusov <eugene@xxxxxxxx>
  • Date: Sun, 02 Apr 2006 14:31:20 +0400
  • Organization: Game World Navigator

Приветствую.

Вероятно, проблема вовсе не в nginx, но может быть кто-то подскажет, в
какую сторону смотреть.

Сервер занимается раздачей файлов от 0.5 Мб до 2 Гб.
Раньше на машине был 400 гиговый Seagate Barracuda и 200 гиговый Maxtor.
Сейчас заменили последний на ещё один 400 гиговый Seagate Barracuda.
Все диски SATA'шные.

Новые файлы появляются на сервере следующим образом. Сначала их
закачивают по ftp или wget'ом в закрытую директорию на первом диске,
проверяют и затем раскладывают в соответствующие директории, откуда они
доступны для скачивания через веб-сервер.

После замены диска появилась следующая проблема. При копировании файлов
с первого диска на второй копирование иногда останавливается, и срубить
этот процесс невозможно. Если же остановить nginx, то копирование
нормально завершается.

Может быть, это как-то связано с количеством читаемых nginx'ом файлов,
но вроде бы нагрузка не столь большая. В пиковые моменты значение
# lsof /dev/sdb1 | wc -l
не превышает 300, а процесс копирования бывает останавливается при 140,
хотя иногда всё нормально копируется и при 200.
На какие ещё параметры следует смотреть?

Диск разбит на одну партицию на все 400 Гб под reiserfs (наверно, не
лучший выбор для архива файлов, но раньше никаких проблем не возникало).
На диске несколько тысяч файлов в основном от 100 Мб до 2 Гб.

Система такая:
# uname -a
Linux 2.6.11-hardened-r15 #1 SMP i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
GenuineIntel GNU/Linux

nginx-0.3.32, конфиг примитивный:

user  nginx nginx;
worker_processes  2;

error_log  /var/log/nginx/error.log;
#pid  logs/nginx.pid;

events {
  worker_connections 2048;
  use epoll;
}

http {
  include      /etc/nginx/mime.types;
  default_type application/octet-stream;

  sendfile on;

  gzip            on;
  gzip_min_length 1024;
  gzip_types      text/plain application/xml;

  index index.html;

  server {
    listen 80 default;
    server_name files.domain.tld;

    access_log /var/log/nginx/files/access.log;
    error_log  /var/log/nginx/files/error.log info;

    autoindex            on;
    autoindex_exact_size off;

    location / {
      root  /home/ftp;
    }
  }
}

-- 
Best regards,
Eugene Janusov.


 




Copyright © Lexa Software, 1996-2009.