- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В общем есть сервер Intel Xeon E3-1230 / 8GB DDR3 / 4x1TB SATA2 / 100Mbps Unmetered
Создан raid 10. Забит на 50% файлами.
Проблема следующего плана. При нагрузке на канал в 50 мбит, нагрузка на винты порядка 50%, оперативка почти вся забита. Но если загружать файл то нагрузка на винты стремительно растет до 100%. Все хорошо но используется chunked upload порциями. Вот тут начинаются проблемы. Каждый chunk идет сброс части файла (копирование move_upoloaded_file) в указанную директорию и в это время сервак дико тормозит.
Вопрос. Кто как конфигурирует серверы под одновременный upload/download/streaming? Я так понимаю что винты офигевают от одновременного стения/записи. У меня пока мысль только одна, для upload использовать отдельный винт. А может просто памяти маловато?
попробуйте отдельный ccд или сас диск для записи файлов.
Добавление памяти поможет хранить больше кеша, тем самым освободив ресурсы диска.
также лучше поставить 7200 hdd если у вас 5200
iHector, для отдачи используйте aio on;+ output_buffers 1 1m; памяти действительно, можно и по-более. Сколько вообще конектов к серверу в пиках и какого рода файлы (размер) грузятся раздаются с сервера?
Для upload обычно используют отдельную группу серверов, но судя по вашему конфигу вы либо не посчитаете это целесообразным, либо это выходит за рамки бюджета, поэтому как вариант повесить туда пару SSD.
Для upload обычно используют отдельную группу серверов, но судя по вашему конфигу вы либо не посчитаете это целесообразным, либо это выходит за рамки бюджета, поэтому как вариант повесить туда пару SSD.
Можно подробнее? Как происходит транспортировка файлов на стриминг сервер файлов с upload сервера? Сетевой диск?
---------- Добавлено 23.01.2014 в 16:58 ----------
iHector, для отдачи используйте aio on;+ output_buffers 1 1m; памяти действительно, можно и по-более. Сколько вообще конектов к серверу в пиках и какого рода файлы (размер) грузятся раздаются с сервера?
На сервере установлена связка nginx + php-fpm, файл отдается скриптом:
header("X-Accel-Limit-Rate: 102400");
header("X-Accel-Redirect: /file/" . $path);
Коннектов одновременно порядка 50-60 (это судя по стате счетчика - реальных онлайн в среднем). В пиках 90. По команде netstat -an | grep :80 | wc -l - показывает 100-120 сейчас.
Размер файлов 500мб-1гб... Но нагрузка на винты не всегда высокая. Иногда при большей загруженности канала винты себя чувствуют хорошо.
iHector, конфиг нгинкса можете привести?
server {
listen 80;
server_name s1.xxxxx.com;
root /home/s1.xxxxx.com;
index index.html index.htm index.php;
access_log off;
location / {
}
location ~ \.flv$ {
flv;
internal;
access_log /var/log/nginx/flvstream-access.log main;
}
location ~ \.php$ {
access_log /var/log/nginx/s1.xxxxx.com-access.log main;
fastcgi_pass unix:/tmp/php-fpm-webuser.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
И главный конфиг:
user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
client_max_body_size 2000m;
include /etc/nginx/conf.d/*.conf;
}
Сделайте так:
Вообще плохо тут делает sendfile on; его лучше использовать только тогда, когда есть очень популярные файлы, которые полностью помещаются в оперативе.
iHector, ну у кого как реализовано. Чаще всего через curl с подтверждением, если без оного - netcat
Сделайте так:
Вообще плохо тут делает sendfile on; его лучше использовать только тогда, когда есть очень популярные файлы, которые полностью помещаются в оперативе.
Спасибо сделал. Сейчас посмотрю что это даст и отпишу.
---------- Добавлено 23.01.2014 в 18:36 ----------
Уменьшилась нагрузка на диски. Спасибо! Если еще будут проблемы - отпишу.
А причем тут конфиг и сами диски ?
Скороей всего стоят какие-то дешевые диски, райд софтварный.
Тут не одного коментария про преформанс на диски.
железный райд, хорошие диски в нормальном райде, лучше поставить, чем больше дисков тем лучше преформанс на запись и чтение.
Так-же надо смотреть на саму систему что больше делается, райды тоже разные есть каждый под свое.
Для бюджетных вариантов используют самые дешевые диски.
Поставь карту райд с нормальным рамом на ней (лучше еще батарейку всунь), посмотри по нагрузке на что больше идет и прочитай про отличие райдов на википедии, поставь тот что надо на чтение или запись, поставь RE4 WD BLACK и радуйся жизни.