|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.03.2015, 01:10 | #11 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
ну раз у вас все тип топ, то и вопросов нет, все прекрасно, слип есть потоки рулят таймауты присутствуют, не вижу проблем
|
31.03.2015, 06:41 | #12 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Повторю вопрос: Ты уверен что сайт, к которому ты запросы отсылаешь, не распознает тебя как бота и не рубит из-за количества подключений с одного адреса? Я ведь правильно угадал - ты к одному и тому же сайты все потоки коннектишь?
I'm learning to live...
|
|
31.03.2015, 11:12 | #13 |
Пользователь
Регистрация: 10.12.2010
Сообщений: 23
|
да с этим все нормально, вопрос был в том как понять что система начинает захлебываться от чрезмерного количества потоков ну собственно до того как начала захлебываться. вот как понять что 20 потоков еще норм а 30 уже перебор... вот в чем вопрос, я ж так понимаю что если у меня при 15 все норм работает, а при 30 кое-где внутри потока выдает коннектион тайм аут (не во всех, изредка), значит ему скорее всего не хватает либо возможности сети либо процессорного времени либо еще чегото там, т.е. как понять оптимальное число до того как начать
Последний раз редактировалось tromani; 31.03.2015 в 11:16. |
31.03.2015, 11:52 | #14 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я не знаю как работают программы, в которых многопоток с инетом, но думаю что там расчитывается скорость сети в пересчете на одну закачку. Потом суммируется и предоставляется на суд пользователя - сколько ограничивать.
Например у тебя 1 мегабит. Ты говоришь: Ограничить до 512Кб - значит 512 делится на кол-во потоков допустим их 10 = 51Кб. Вот это лимит, который поток в цикле отправляет в сеть. Потом в самом потоке отправки может быть sleep(10), чтоб ограничение по отправке действительно сработало. То что тебе выше говорили, мол слипы не нужны - чушь. Нужны, просто INDI в таком случае стоит выкинуть в пользу WinAPI. Или сокетов Беркли. Но я бы на твоем месте не делал сразу старт всех потоков. Лучше стартовать их по определенному количеству. Как только кол-во потоков уменьшается - освобождается место для нового потока - как DownloadMaster делает. Это гораздо выгоднее, да и пересчитывать лимиты для потоков не придется.
I'm learning to live...
|
31.03.2015, 15:12 | #15 |
Пользователь
Регистрация: 10.12.2010
Сообщений: 23
|
абсолютно согласен, так я то собственно не стартую их сразу, вы ж видите там в цикле стартуется сразу количество ограниченное updown.position, а (в моем случае там 15 например) а по завершении стартуется следующий и т.д. т.е. одновременно всегда запущенно не более значения заданного updown.position
просто думал ну может ктото реально не раз уже по этой теме работал что-то мудрое посоветует типа вот функция возвращает %забитости канала))) ну я утрирую ну както так |
31.03.2015, 15:22 | #16 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
ИМХО нет такой функции. Я думаю что все считается относительно переданных байт за определенное время через сетевую. Эту цифру думаю можно получить, но все равно процент нагрузки придется высчитывать "ручками". Да и врядли он будет достоверным для определения нагрузки до конечного узла.
I'm learning to live...
|
31.03.2015, 15:35 | #17 | |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
Цитата:
|
|
31.03.2015, 15:46 | #18 |
Пользователь
Регистрация: 10.12.2010
Сообщений: 23
|
дружище, давайте вы хоть попробуете чтоли, если вы сможете запустить одновременно 50 потоков без единого слипа или любой задержки в каждом из которых будет Get ну пусть на любой самый простой сайт и все пройдет ок без единой ошибки сети я только апплодировать буду, признаю что вы лучший
|
31.03.2015, 16:07 | #19 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
запускаем и 500 и больше, и чо? только у нас не только слипов нет но и циклов таких
|
31.03.2015, 16:14 | #20 |
Пользователь
Регистрация: 10.12.2010
Сообщений: 23
|
ну так просветите, как?
я ж сюда обратился абы подсказали что делать и как лучше делать кусочек кода то можно увидеть как без цикла и слипа запустить 500 потоков |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многопоточность Indy | niva622 | Общие вопросы Delphi | 11 | 25.05.2013 19:22 |
[Indy]Отловить ошибки возникающие при работе с проксями | bakanaev | Общие вопросы Delphi | 8 | 05.12.2012 20:48 |
INDY. Ошибки Кодировщика и Декодировщика | Vol666 | Работа с сетью в Delphi | 9 | 04.09.2009 08:15 |
Многопоточность Indy | AVer | Работа с сетью в Delphi | 14 | 14.02.2009 22:10 |
Многопоточность с INDY | Ragnarek | Работа с сетью в Delphi | 2 | 27.01.2009 13:25 |