|
|
|
Wowa |
|
|||
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Изатоп предложил сделать нашу систему готовой к распределённой нагрузке. Это когда проект очень крупный и для его работы требуется подключение множества дополнительных физических серверов.
Какую нагрузку будем распределять? Для БД итак есть готовые решения, как я понимаю.. Следовательно речь идет только о ПХП-коде, о его быстром выполнении. Прошу высказать свои мнения.. |
|||
|
||||
Semenov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.10.2006 Где: г. Набережные Чел ны Репутация: нет Всего: нет |
Если я правильно понял, то можно реализовать возможность раскидывания модулей, шаблонов и ядра на разные физ.серверы.
|
|||
|
||||
Sardar |
|
|||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Код PHP в силу своей природы выполняется параллельно, потому хорошо маштабируем по нескольким application-серверам. Конфиги, статикa, шаблоны естественно и т.д. дублируются. Точками соприкосновения нужно оставить только центральную БД, из которой брать инфу по необходимости.
Инфу из БД лучше кешировать локально в SQLite базе. Вообще я заметил до 70% всей инфы, что обычно лежит в базе, можно раскидать по локальным SQLite базам или вообще по XML файлам (конфиги держать в центральной базе это вообще верх юмора). Вставка/изменение в SQLite базе теоретически медленны (лочиться вся база для каждого запроса, правда только на момент записи, что микросекунды), но чтение очень быстро. Далее смотрим на сколько болен на голову был архитектор системы Если все запросы state-less (чисто REST системы), то без всяких сложностей копируем софт с данными на новую машину и добавляем в сеть. Если активно где надо и не надо использовались графы/машины состояний, с сохранением в сессию, то придётся покупать специальную машину диспетчер-запросов, которая будет достаточно умна, что бы привязывать сервер к конкретному клиенту на время сессии. К PHP это конечно не относиться. Если сессии хранить в распределённом кеше типа memcached, то диспетчера не нужно, производительность конечно будет чуть хуже. Вроде всё. Принцип един, чем больше осбщих ресурсов, используемых сразу несколькими серверами, тем медленней это всё дело. Чем больше инфы в локальных копиях, тем быстрее система, что сразу подчёркивает грамотную работу архитектора. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Vingrad CMS | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |