VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Ситуация такова. Стоит форум в локалке, загибается под нагрузкой. В теме про самый большой форум на Vbulletin слышал, что offtopic.com работает на нескольких серверах.
Я в точности не буду расписывать свое железо и ситуацию, но интересуют методы реализации такого хостинга.
На данный момент, по мимо сервера с воблой, есть еще одна машина, которая в большинстве случаев использует ресурсы процессора на 5-10%. Ну я понимаю, что можно на ней воткнуть apachе, заливать туда изображения, которые потом тегом img прописывать, но это все, что я понял, да и мне кажется, что не особо то это снимет нагрузку.
Давайте понемногу попытаемся все реализовать хотябы теоретически, ну а потом буду решать стоит ли практически. Только не нужно пожалуйсто орать, что win must die и пора на frebsd, сам знаю. Оптимизацию быстродействия самими настройками воблы пока исключаем.
в порядке возрастания нагрузки:
1. настроить легкий и отдельный вебсервер для обслуживания статического контента.
не знаю как на винде, но апачу это снимает нагрузку, из-за того, что большие процессы апача по 20мб в памяти, не дергаются лишний раз. легковесные сервера бывают весьма шустрые, в том числе встроенные в операционную систему.
2. включить таки кеш сообщений средствами форума
3. php-акселератор (eaccelerator или turck-mmcache), стандартный зенд недостаточно оптимизирует и не кеширует нихрена.
(есть еще zps - zend perfomance engine, но он странный и его нужно очень тонко настраивать каждый скрипт).
4. ставим 2 сервера : mysql и www. (про mysql4+ настроенные на кеширование запросов надеюсь и не стоит упоминать)
5. наконецто ставим линукс для балансировки нагрузки между www-серверами,
и еще один www-сервер.
богатенькие буратины ставят cisco local director. фрюшники спешно изучают линукс.
6.должаем наращивать число www серверов, не забывая включать
$config['Datastore'] и крутя на одном сервере memcache-сервер.
7. повторяем до наступления жопы уже в mysql-сервере
8. ставим второй mysql-сервер в режиме slave, цепляем на него нескольколь www-серверов, в конфиге есть $config['SlaveServer'].
9. продолжаем закупать топовые пентиумы4 ) благо если ваш форум разросся до десятка серверов это уже не должно быть проблемой
короче не беспокойтесь, расти всегда есть куда)
вообще, на мой взгляд основная проблема вбуллетня в том что ДОХЕРА eval-ирует из базы. все темплаты, эта вся куча php-кода не поддается отпимизации акселераторами.
проблему бы решило выкатывание php-кода в файловую систему, примерно как сейчас выкатывают css-темплаты, но
думаю врядли это когда-то изменится ведь вб нацелен, как они пишут "middle-to-large forums", то есть буржуйский лоховский платежеспособный сегмент, который кое-как научился ставить плагины из админки.
@stamina
Знаток
Join Date: Oct 2005
Posts: 493
Версия vB: 3.6.8
Reputation:
Knowing 255
Репутация в разделе: 222
0
Quote:
Originally Posted by netwind
крутя на одном сервере memcache-сервер.
Причем без свапа - имхо, для начала, этого будет достаточно.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
memcache в случае vb разве не ускоряет простые запросы на глобальные кеши опций, прав на форум и тд?
по-моему только это. совсем даже не панацея..
убирает sql-запрос на чтение и все!
@Azureus
Продвинутый
Join Date: Nov 2005
Posts: 282
Версия vB: 4.1.x
Reputation:
Опытный 27
Репутация в разделе: 18
0
Quote:
Originally Posted by netwind
1. настроить легкий и отдельный вебсервер для обслуживания статического контента.
не знаю как на винде, но апачу это снимает нагрузку, из-за того, что большие процессы апача по 20мб в памяти, не дергаются лишний раз. легковесные сервера бывают весьма шустрые, в том числе встроенные в операционную систему.
Что-то я не понял, ты хочешь сказать что apache слишком грузовой, и чтобы разгрузить все необходимо его сменить?
Quote:
Originally Posted by netwind
2. включить таки кеш сообщений средствами форума
Включил. На сколько лучше по времени? Да что-то я не думал что он так поможет. Там и настроек то нету нифига, только дни.
Quote:
Originally Posted by netwind
3. php-акселератор (eaccelerator или turck-mmcache), стандартный зенд недостаточно оптимизирует и не кеширует нихрена.
(есть еще zps - zend perfomance engine, но он странный и его нужно очень тонко настраивать каждый скрипт).
Ниасилил.
Quote:
Originally Posted by netwind
4. ставим 2 сервера : mysql и www. (про mysql4+ настроенные на кеширование запросов надеюсь и не стоит упоминать)
Вот тут пожалуйсто подробнее. Что ты имеешь ввиду под www. И что значит два? то есть на две машины?
Как включить кеширование запросов?
Quote:
Originally Posted by netwind
5. наконецто ставим линукс для балансировки нагрузки между www-серверами,
и еще один www-сервер.
Опять все уперается в освоение новой оси :(
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Azureus,
1. apache не меняй ни на что) просто он достаточно сложный,простые запросы обрабатывает небыстро (относительно).
а когда он вместе с php еще и разрастается в памяти, оси становится тяжело ворочать такие процессы.
чтобы этого избежать ставят обслуживать статику отдельный быстрый, но тупой вебсервер. статические запросы некоторые провайдеры ускоряют squid в режиме акселератора,то есть на сервер вообще запросы не доходят, сквид их перехватывает и выплевывает из памяти.
что бы такое простое посоветовать под винду я не знаю.
2. сколько времени выбирай сам, от этого ведь увеличивается место занимаемое бд
3. просто вбей названия в яндекс и почитай)
4. два сервера значит, что один под БД mysql с быстрыми скази-дисками,
а второй www, тот где крутится apache , диски можно обычные иде, но процы
наимощнейшие из доступных .
кеширование включается в конфиге mysql, усе написано в манах
что-то вроде query_cache_limit, query_cache_size, query_cache_type
5. ну это тебе нескоро понадобится).
еще можно просто поставить крутиться форум на нескольких разных ip-адресах,
прописав в днс их все. будет зачаточное, но вполне себе распределение нагрузки.
@intolerance
Гуру
Join Date: Jan 2006
Location: Альметьевск
Posts: 204
Версия vB: 3.8.1
Reputation:
Гуру 278
Репутация в разделе: 46
0
netwind, тема толковая. Я вот здесь тоже кое-что накидал из области оптимизации. Времени нет развить тему раскидывания серверов. На практике у меня вышло так, что выгоднее использовать один двух процессорный сервер с несколькими скази/сата винтами и достаточным объемом памяти, чем раскидывать базу и веб. Но если есть деньги, то конечно этот вариант отлично работает. Но уменя нагрузки не такие большие, 250 пользователей одновременно в среднем, но кач плотный, т.к. каналы шустрые у всех посетителей (интранет). В аттаче картинка по яндексу, гугл использует каскад из фрей для распределения нагрузки.
@Fletch
Простоузер
Join Date: Nov 2005
Posts: 74
Reputation:
Novice 3
Репутация в разделе: 2
0
Для сервера под картинки использовать лайтхттп, а не апач. Нагрузка резко падает
@Azureus
Продвинутый
Join Date: Nov 2005
Posts: 282
Версия vB: 4.1.x
Reputation:
Опытный 27
Репутация в разделе: 18
0
Quote:
Originally Posted by netwind
1. apache не меняй ни на что) просто он достаточно сложный,простые запросы обрабатывает небыстро (относительно).
а когда он вместе с php еще и разрастается в памяти, оси становится тяжело ворочать такие процессы.
Памяти гиг, надо будет, добавим.
Quote:
Originally Posted by netwind
2. сколько времени выбирай сам, от этого ведь увеличивается место занимаемое бд
На сколько я знаю, база безгранична. Винт в магазине на 300 гигов по 100$ стоит, то есть это не проблема. Я спрашиваю чисто как у опытных товарищей. Как лучше для быстродействия?
Quote:
Originally Posted by netwind
4. два сервера значит, что один под БД mysql с быстрыми скази-дисками,
а второй www, тот где крутится apache , диски можно обычные иде, но процы
наимощнейшие из доступных .
Ну вот что-то проясняется.
Скази не потянем, стоят нереально... Ну на крайняки страйп можно соорудить.
Значит так, ставлю на одну машину мускул.
На другой php+apache
Скрипты воблы с аттачами лью на ту машину, на которой php+apache.
Дамп базы разворачиваю на машине с мускулом.
А как теперь заставить скрипты воблы питатся от базы данных другого сетевого компа?
На сколько должен быть широк канал между этими двумя серверами?
Quote:
еще можно просто поставить крутиться форум на нескольких разных ip-адресах,
прописав в днс их все. будет зачаточное, но вполне себе распределение нагрузки.
С разным хостингом чтоли?
Или разные Web-сервера, питающиеся от одной базы?
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by Azureus
А как теперь заставить скрипты воблы питатся от базы данных другого сетевого компа?
На сколько должен быть широк канал между этими двумя серверами?
в конфиге поиши localhost и замени на IP другого сервера.
100mbit свитчеванных должно хватить.
конечно, ни о каких двух разных хостингах и речи быть не может.