Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
prik
18 / 17 / 2
Регистрация: 01.03.2011
Сообщений: 100
1

sendfile

04.08.2011, 19:27. Просмотров 1184. Ответов 3
Метки нет (Все метки)

Добрый вечер.
Есть у меня сервер на не блокируемых сокетах и epoll, который через sendfile раздает достаточно большие файлы. Вообщем то все работает, но на стресс тесте, когда подключается примерно 1500 клиентов sendfile() начинает подвисать. Вычислил это расставив gettimeofday по коду, подвисает относительно на долго. Как понять, что там происходит и почему он вообще виснет то, ведь сокет не блокируемый и epoll_wait говорит что можно писать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2011, 19:27
Ответы с готовыми решениями:

сокеты sendfile
Вот решил попробовать побаловаться с сетью и начал конечно же с передачи файла. Есть клиент и...

Socket.SendFile - не получается заголовки добавить
Есть сервер http, к нему подключается клиент, которому нужно дать изображение вместе с заголовками....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.08.2011, 21:02 2
Цитата Сообщение от prik Посмотреть сообщение
Как понять, что там происходит и почему он вообще виснет то, ведь сокет не блокируемый и epoll_wait говорит что можно писать?
возможно просто хард не успевает читать?
1
g_u_e_s_t
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
04.08.2011, 21:13 3
Полностью согласен с niXman.
2ТС: попробуйте открывать файлы которые отдаете через sendfile() с O_NONBLOCK, зуб даю что вместо зависа там EAGAIN вернут.
1
prik
18 / 17 / 2
Регистрация: 01.03.2011
Сообщений: 100
04.08.2011, 21:40  [ТС] 4
Спасибо, завтра попробую ставить nonblock на файл.
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru