LINUX.ORG.RU

Пососветуйте архитектуру Демона!!


0

0

Пососветуйте архитектуру Демона!! Так задача следующая ...написать стабильный сервер количество клиентов порядка 20000(поралельных канектов) ... понятно что 1 комп с такой нагрузкой не справится ... в принципе 20000 это потолок ... реально думаю от 500-5000, но чтобы архитектура позволяла расширить систему до такого уровня .... Какую систему посоветуете: -)Каким образом посоветуете организовать взаимодействие между процессами ... между серверами... anonymous (*) (2003-09-13 18:04:18.11072)

сообщения отсортированы в порядке возрастания даты их написания [Ответить] Re: Пососветуйте архитектуру Демона!! RHAS, SLES, Solaris, AIX или HP-UX. На крайняк можно фряху. gr_buza (*) (2003-09-13 22:58:27.870779)

[Ответить] Re: Пососветуйте архитектуру Демона!! по одной нити на процессор для ввода-вывода, желательно с affinity, одна для приема соединений. внутри нити обрабатывать ввод-вывод через переключение на select... Murr (*) (2003-09-14 00:25:56.606592)

[Ответить][Удалить] Re: Пососветуйте архитектуру Демона!! Лучше всего многопроцессорную машину. + используй нити; лучше всего конечно кластер иметь, чтобы нагрузку равномерно распределять. anonymous (*) (2003-09-15 07:56:55.520445)

[Ответить] Re: Пососветуйте архитектуру Демона!! Хм а что дадут в данном случае нити? для себя давно выяснил что в 2.4 нити мягко говоря не очень хорошего качества. Уж лучше использовать fork() + shared memory.

быстрый старт? Так можно было бы использовать адаптивный алгоритм сервера.

Dead (*) (2003-09-15 17:29:27.134404)

[Ответить] Re: Пососветуйте архитектуру Демона!! >для себя давно выяснил что в 2.4 нити мягко говоря не очень хорошего качества. Это как? Можети ты про библиотеку LinuxThreads? ;) Так если изначально пишется для Linux, то лучше native попользовать. :)

Если использовать нити, то кроме тех, что обрабатывают запросы, переключение на connection thread будет очень "дешевым", IMHO. Murr (*) (2003-09-15 18:27:51.678266)

[Ответить] Re: Пососветуйте архитектуру Демона!! Я имел ввиду Pthreads, то есть LinuxThreads я так понимаю. Какая-то странная реализация... Не то нити, не то процессы. Объясните, где-то читал но уже забыл, переключение между этими нитями идет как переключение контекста процесса или как-то облегченно? Создание ведь, как я понимаю, все равно через clone() идет, то есть манипулируя параметрами clone() можно создать либо трэд либо форк.

Dead (*) (2003-09-15 20:31:15.443722)

[Ответить] Re: Пососветуйте архитектуру Демона!! В общем-то писал я на pthreads не мало и вот что заметил. Когда постоянно поднимаешь новые трэды (то есть треды стартятся и умирают после выполнения задачи), то где-то после 400 одновременно запущенных нитей начинали твориться непонятные вещи. На разблокировке мьютекса часто давало SIGSEGV. select() на пайпах в треде как-то странно работал, иногда засыпал на несколько секунд, хотя данные давно пришли. И потом, почему нельзя обрабатывать SIGCHD в треде, то есть я застартил чилда форком, затем поднял тред и вызываю в нем waitpid на pid чилда - не работает. В общем посмотрел я на все это дело и сделал выше приведенные выводы. Может в 2.6 все в норме будет? Dead (*) (2003-09-15 20:49:55.461675)

[Ответить][Удалить] Re: Пососветуйте архитектуру Демона!! А чем плоха система??? .. короче форкаю пачку дочерних процессов каждый слушает к примеру по 1 клеинту ... ну с помощью семафоров, очередей сообщений, разделяемой памяти(ещё не знаю что лучше применить) настраиваю межпроцесорное взаимодей... спомощью сокетов связываю несколько серверов ... anonymous (*) (2003-09-17 17:55:23.258809)

anonymous

а нах архитектору демон??

anonymous
()

Где пределы совершенству?

От разработчиков Яху:
1,5 миллиарда запросов в сутки выдерживают 4,5 тысячи машин
с обычным Пентиум II 750 МГц 1 Гб ОЗУ c FreeBSD.
Деля первое число на второе получаем 333 тысячи запросов в сутки
на одну машину. 333 000/24=14000 запросов в час на 1 машину.
14 000/60=230 запросов в секунду.

На входе Яху стоит кольцевой буфер с пятью IP-адресами,
который по кругу подставляет новый IP при каждом новом запросе.
Посмотреть можно их утилитой nslookup. Возможно что-то
и дальше у них стит для loadbalancing.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.