Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка Access violation, при увеличении числа потоков свыше ~ 800 
:(
    Опции темы
DmitryHT
Дата 21.9.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Вообщем, при попытке испытать на максимуме грабер проксей обнаружил такую ошибку "Access violation ..."
Причем на 500 потоках все работает на Ура, но если выставить кол-во потоков еще больше (приблизительно > 800), то выскакивает указанная выше ошибка.

С чем это может быть связано?
Спасибо!  smile 
PM MAIL   Вверх
BaD_SeCt0R
Дата 21.9.2007, 23:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: 4
Всего: 18



Access violation - попытка доступа к несуществующим данным. Для более полного ответа дай больше данных


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
ALeXandrK
Дата 21.9.2007, 23:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 6



По токому вопросу можно точно сказать только одно: "Нарушение доступа ..."

Подробней давай... что за потоки, что делают. Код тут нужен.


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
aktuba
Дата 22.9.2007, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата

приблизительно > 800


800 потоков при работе с сетью???? весело... показывай код - мне интересно даже стало, как это вообще может нормально работать...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
W4FhLF
Дата 22.9.2007, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 6
Всего: 121



В системе максимальное число потоков ~2000, при дефолтном размере стека в 1 мб, при указании стека вручную при создании потока всё зависит от этой величины. Как удалось убедиться на практике, в пользовательской системе(т.е. не server) больше 1500 потоков нормально сосуществовать не могут. Памяти у тебя сколько? 

PS А зачем нужны 800 потоков для твоей задачи? 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
DmitryHT
Дата 22.9.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



насчет кода даже не знаю какой участок предоставить...
такое кол-во потоков используется для чекинга работоспособности найденых проксей, т.к. их за 100 тысяч, то нужно максимально возможное кол-во потоков.

Цитата

800 потоков при работе с сетью???? весело... показывай код - мне интересно даже стало, как это вообще может нормально работать...

а почемы бы и нет? винда пропатчена на кол-во полуоткрытых соединений.

Работает сие на сервере с памятью в 1гиг всего, но по статистике память и процессор загружены лишь на половину.


Цитата

Access violation - попытка доступа к несуществующим данным


вот и я о том же...как при 500 потоках нет такой ошибки, а при выше 800 уже проскакивает и то не сразу?
PM MAIL   Вверх
ALeXandrK
Дата 22.9.2007, 11:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Так может у тебя разные потоки работают с одинаковыми данными.
Один поток удалил переменную, а другой пытается к ней обратиться - вот и ошибка.

Может в этом проблемка...

P.s.: Попробуй уменьшить круг подозреваемых, если это возможно.

Это сообщение отредактировал(а) ALeXandrK - 22.9.2007, 11:38


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
aktuba
Дата 22.9.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата

а почемы бы и нет? винда пропатчена на кол-во полуоткрытых соединений.


Да я и не говорю нет. Смотри - у тебя один список проксей и 800 потоков поочереди берут каждый пункт из списка и проверяют. Представим ситуацию - два потока взяли две последние строки. Первый поток проверил и оказалось, что прокся мертвая. Данная строка удаляется из списка, верно? Если да - вот тебе и ошибка, т.к. второй поток будет пытаться удалить строку, которой уже нет в списке...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 22.9.2007, 16:53 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



мда... имхо хватило бы и 50 потоков при правильной реализации...
а без кода тут нечего и советовать... 
если есть AV, значит кто-то хочет пользовать что-то этому не пренадлежащее


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alexeis
Дата 23.9.2007, 22:30 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



MetalFan, не всегда, иногда отсутствующее. Вариантов много и гадать можно много, но лучше предположить что ошибка в 17й строке.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DmitryHT
Дата 24.9.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Цитата(ALeXandrK @  22.9.2007,  11:37 Найти цитируемый пост)
P.s.: Попробуй уменьшить круг подозреваемых, если это возможно.


в результате этого обнаружил, что ошибка появляется в момент создания нового потока 
Код

potok[i_potok]:= tPotok.create(true);

в чем может причина ошибки в этом случае?


Цитата(MetalFan @  22.9.2007,  16:53 Найти цитируемый пост)
мда... имхо хватило бы и 50 потоков при правильной реализации...

и при какой же такой реализации  можно проверить более 100 тысяч прокси в 50 и 500 потоков с одинаковой скоростью?

Это сообщение отредактировал(а) DmitryHT - 24.9.2007, 10:19
PM MAIL   Вверх
DmitryHT
Дата 24.9.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



поставил приоритет на tplower стала появляться новая ошибка:
Цитата

Thread Error: The handle is invalid


кто-нибукдь в курсе из-за чего это?




up:
потом выставил на самый низкий tpIdle и опять получил Access Violation  smile 

Это сообщение отредактировал(а) DmitryHT - 24.9.2007, 11:03
PM MAIL   Вверх
Alexeis
Дата 24.9.2007, 11:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



DmitryHT, нужно учитывать реальные возможности сетевухи / модема. Они железные, а не резиновые  smile . Если представить, что среднее время пинга около 100мс, размер пакета 1,5 кб, то теоретически на 800 потоках можно пропинговать 8000 серверов в секунду. 8000 * 1,5 кб ~ 12 Мбайт/с, а с учетом паузы между ними и неравномерности прихода, то как минимум канал нужен как минимум 25 Мбайт/с, т.е. 200 Мбит / с, а то и больше ведь за это время нужно сделать 2е операции. 1 передать 1 получить.
  Вот и получается что потоков много, но они простаивают.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DmitryHT
Дата 24.9.2007, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Цитата

Вот и получается что потоков много, но они простаивают. 


так разве в случае простоя должна происходить ошибка?
п.с. канал 100 Мбит/с
PM MAIL   Вверх
Alexeis
Дата 24.9.2007, 11:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



  Канал 100Мбит это сеть или интернет? Обычная сетевуха на 100Мбит пропускает реально около 75Мбит. Это к тому что неплохо бы расчитать сколько все таки трафика уходит за минуту при непрерывном пинге и сколько за минуту серверов проверено, отсюда можно посчитать сколько трафа реально уходит на пинг одного сервера т.е. посчитать сколько теоретически можно пропинговать за это время и поставить реальное число потоков. 
Цитата(DmitryHT @  22.9.2007,  10:47 Найти цитируемый пост)
винда пропатчена на кол-во полуоткрытых соединений.


Может и в том что пропатчена винда, ведь ограничения не зря стоят... 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.6206 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.