Пососветуйте архитектуру Демона!! Так задача следующая ...написать стабильный сервер количество клиентов порядка 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)