Siege: таблица дескрипторов заполнена sock.c: 119: слишком много открытых файлов

10

Я пытаюсь провести стресс-тест на своем собственном сервере, используя осаду с помощью следующей команды:

$ siege -c 500 myweb.com/somefile.php

Но я получаю эту ошибку:

[error] descriptor table full sock.c:119: Too many open files

И я тоже получаю это предупреждение:

libgcc_s.so.1 must be installed for pthread_cancel to work

Но я использую Ubuntu 15.04 (ветка разработки), и я установил пакет libgcc1, поэтому я не знаю, почему он компансирует эту разделяемую библиотеку .so.

Как я могу решить слишком много открытых файлов и предупреждение libgcc?

shakaran
источник
3
Кажется, bugs.launchpad.net/ubuntu/+source/siege/+bug/1317812 . В любом случае попробуйте увеличить максимальное количество открытых файлов с помощью ulimit -n 10000или навсегда ( rtcamp.com/tutorials/linux/increase-open-files-limit ).
Федерико Сьерра

Ответы:

8

Чтобы решить эту проблему для себя, мне пришлось настроить параметр «ulimit» ОС:

ulimit -a - Проверьте текущие настройки

ulimit -n 10000 - Изменить значение настройки

Источник: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527.

bradforbes
источник
0

Сообщение об ошибке вводит в заблуждение , но в вашей команде есть erorr:

$ siege -c 500 myweb.com/somefile.php

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

Не забудьте проверить права на файл журнала: по умолчанию это /var/log/siege.log.

Или укажите свой, добавив --log=/home/user/siege.log

Сергей Григорчук
источник
1
У меня есть номер 500 указан. Ваш ответ неверный
Шакаран
1
Да ты прав. Но все равно проверь лог-файл
Сергей Григорчук
0

Установка gcc-multilibпомогла мне в этом (Ubuntu 16.04.3 LTS)

sudo apt-get install gcc-multilib

lucidyan
источник