Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > Параллельные ЭВМ |
Автор: pakulo 22.7.2007, 14:05 |
Есть у меня программа-сервер, стоит она на одном сервере, преположим под FreeBSD, и работает с БД Postgres, она нормально работает, но вот в один прекрасный день кол-во пользователей зашкаливает критическую черту, нужно вводить другой сервер. Поэтому и хотел бы для себя сейчас этот вопрос закрыть и возможно во время проектирования сервера это просчитать, что бы в дальнейшем не возникало проблем. Буду признателен за любою информацию. Просьба в Яндекс и иже подобные не отправлять, искал, коечто нашел, но это скорее всего информация для администраторов, т.е. как эти системы организовывать, но ни как под них писать ПО. Спасибо! |
Автор: witex 22.7.2007, 15:43 |
Предпологать не надо! А говори точно и что где стоит! Ваабще первая реалия для тебя это вначале перебрать твоё ПО, для оптимизации уменьшить нагрузку! Во вторых поменять железо на серваке! А ваабще поставь поставь ограничение на количество пгользователей! А онстальных в режим ожидания! Да и всё зависит от того какие функции у тебя сервер выполняет! Это всё таки важнее для нас информаци счас чтобы совет тебе дать! |
Автор: pakulo 22.7.2007, 23:09 |
witex, ну на счет разработки и оптимизации своего сервера это не проблема, здесь хоть есть литература, информации хватает. Не получиться, так как нет тогда смысла с проекта. Скажем, это будет типа ICQ, т.е. должна быть поддержка всех пользователей, которые прислали запрос. |
Автор: jonie 23.7.2007, 00:18 |
скажем, посмотрите сервера jabber как сделаны (тот что ejabber)...исходники открыты.... а вообще можно сделать так? делаете сервер раздатчик (он говорит клиентам куда им предпочттельнее коннектится (на какой ip)), а сам он держит информацию о нагрузке на каждый сервер.... (там, скажем, сделано на mailRU). или у Вас проблемы с СУБД ? Есть иные (вплоть до самописных на основе Berkeley DB - кстати для im систем имхо лучше чем "тормозные sql"....)).... p.s. имхо придумывать новые IM системы не надо, есть jabber 8) зачем изобретать велосипеды? |
Автор: jonie 23.7.2007, 11:59 | ||
|
Автор: pakulo 23.7.2007, 12:03 |
jonie, ок, понял, спасибо... Тогда, возможно, будут еще предложения по организации параллельной работы сервера и его программирование ![]() |
Автор: jonie 23.7.2007, 21:07 |
если не думать то делаешь протокол связи сервер-сервер (s2s), и сервера функционируют раздельно (хотя и выглядят мб как одно целое)...надо лишь продумать как уведомлять серверN о том что юзер с сервераM отключился (N!=M)...а это уже выбирать память\скорость надо...т.о. возможно слинковывать сервера в масштабные сети и получать гемморой известный как "захват власти при сплите" (irc). Или же делать реальный кластер из 2-х и более машин...есть системы для кластеризации...... Про паралельные вычисления почитать тоже имхо стоит (стандарт MPI (например, реализация в MPICH)). Там говориться о уведомлениях процессов о действии друг-друга (One2All Broadcast.. Scatter и прочие...)...гугл найдет. Вот там реальные распределенные вычисления.... В общем курс Распределенная Обработка Информации ВУЗовкий.... |