Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распределенная нагрузка 
:(
    Опции темы
Wowa
Дата 23.2.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


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

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



Изатоп предложил сделать нашу систему готовой к распределённой нагрузке. Это когда проект очень крупный и для его работы требуется подключение множества дополнительных физических серверов.

Какую нагрузку будем распределять? Для БД итак есть готовые решения, как я понимаю.. Следовательно речь идет только о ПХП-коде, о его быстром выполнении. Прошу высказать свои мнения..
PM WWW   Вверх
Semenov
Дата 23.2.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.10.2006
Где: г. Набережные Чел ны

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



Если я правильно понял, то можно реализовать возможность раскидывания модулей, шаблонов и ядра на разные физ.серверы.
PM MAIL WWW ICQ   Вверх
Sardar
Дата 24.2.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Код PHP в силу своей природы выполняется параллельно, потому хорошо маштабируем по нескольким application-серверам. Конфиги, статикa, шаблоны естественно и т.д. дублируются. Точками соприкосновения нужно оставить только центральную БД, из которой брать инфу по необходимости.

Инфу из БД лучше кешировать локально в SQLite базе. Вообще я заметил до 70% всей инфы, что обычно лежит в базе, можно раскидать по локальным SQLite базам или вообще по XML файлам (конфиги держать в центральной базе это вообще верх юмора). Вставка/изменение в SQLite базе теоретически медленны (лочиться вся база для каждого запроса, правда только на момент записи, что микросекунды), но чтение очень быстро.

Далее смотрим на сколько болен на голову был архитектор системы smile  Если все запросы state-less (чисто REST системы), то без всяких сложностей копируем софт с данными на новую машину и добавляем в сеть. Если активно где надо и не надо использовались графы/машины состояний, с сохранением в сессию, то придётся покупать специальную машину диспетчер-запросов, которая будет достаточно умна, что бы привязывать сервер к конкретному клиенту на время сессии. К PHP это конечно не относиться. Если сессии хранить в распределённом кеше типа memcached, то диспетчера не нужно, производительность конечно будет чуть хуже.

Вроде всё. Принцип един, чем больше осбщих ресурсов, используемых сразу несколькими серверами, тем медленней это всё дело. Чем больше инфы в локальных копиях, тем быстрее система, что сразу подчёркивает грамотную работу архитектора.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Vingrad CMS | Следующая тема »


 




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


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

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