![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| begin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Планируем сделать небольшую социальную сеть (такая посещаемость как Вконтакте или Одноклассники не будет, да и не нужна). Но несколько тысяч уников в день планируется. Насколько я понимаю, один выделенный сервер такую посещаемость не выдержит и ляжет. Читал в сети, что когда разрабатывали движок Одноклассников, то писали специально мультисерверное ПО, и что данный сайт сейчас распределен аж на 400 серверах.
Нам конечно такое решение не понадобится, но все же нужно заранее подумать о том, чтобы обеспечить нормальную работу сайта при посещении - максимум 10 тыс. уников в сутки. Вначале была задумка такая: 1. купить виртуальный хостинг 2. по мере увеличения объема сайта и посещений переехать на VPS 3. потом (при дальнейшем росте сайта и его посещаемости) переехать на выделенный сервер. Но я так понимаю, что и это может не решить проблему. Тогда возникла такая схема: 1. при разработке движка заранее заложить возможность указания в конфиге движка IP-адресов для папок галереи, и для баз данных разных групп таблиц. 2. когда нагрузка на сайте достигнет критического уровня, то перейти например на три выделенных сервера у разных (для надежности) хостинг-провайдеров и держать на первом - картинки, на втором - базу, на третьем - скрипты. 3. По мере роста сайта делить нагрузку еще дальше - разные папки картинок на разных серверах, разные группы таблиц базы - на разных серверах. Подскажите, в правильном ли направлении я мыслю. |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Не совсем верно. Для начала отдели статику от динамических страниц. Статику можешь выложить на CDN. Динамику разносить по разным провайдерам не выгодно. Лучше подберите хороший ДЦ и в нем разместите/арендуйте требуемое количество серверов. Добавлено через 1 минуту и 22 секунды Смотря что будешь отдавать. Видео - может и не выдержит. А блоги... вполне. |
|||
|
||||
| Ипатьев |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Вы хотели сказать несколько сот тысяч уников? Для нескольких тысяч не нужен выделенный сервер. Несколько тысяч без проблем обслуживается на обычном хостинге. Добавлено через 6 минут и 51 секунду Послушайте. Вы только что научились с куками работать. Не рановато на социальные сети замахиваться? Я понимаю, не боги горшки обжигают. Но, может, сначала элементарного опыта поднабраться? Ваши рассуждения, извините, смехотворны.
в чем тут будет надежность? Что толку, если будет работать сервер с картинками, но не будет работать БД? что за странная идея, ходить в базу данных к другому провайдеру? это, по-вашему, увеличивает время отклика? Вы не имеете ни малейшего представления о распределении нагрузки. Ну хотя бы форум почитайте. Какие на самом деле проблемы возникают, в реальных проектах. А не в воображаемых. |
||||
|
|||||
| begin |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Спасибо за отличный совет. До этого моменты я не знал о такой технологии как CDN. Уже поискал и нашел украинского CDN-провайдера. Такой вариант действительно в разы дешевле, чем платить за несколько своих серверов. Огромное спасибо.
Вы знаете, а я даже рад, что заблуждался насчет количества. Но цифра взята не с потолка - у меня и моих клиентов несколько сайтов на разных украинских и российский виртуальных хостингах. Так вот время от времени везде возникает проблема то с большим количеством запросов к базе (аж 200
Понимаю Вашу иронию, но все же.. Не знаю как другие, но насчет себя уверен точно - именно сложные проекты (где нужно узнавать для себя что-то новое из теории и практики) являются лучшим стимулом рости как программист. Этот проект будет не столь критичным - всегда можно будет исправить ошибки и доработать движок. Просто хочется, чтобы и другие начинающие программисты не тушевались, а верили в свои силы и пробовали делать сложные проекты. Конечно, при этом не ленясь, не забывая учиться, и конструктивно воспринимать критику и советы старших товарищей.
Да, я уже начинаю понимать, что дополнительной стабильности такая схема явно не даст.
Ну вот поэтому и советуюсь здесь, с Вами. |
||||||||||
|
|||||||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Ну сами подумайте.
Допустим, вся эта тысяча ходит в течение 10 часов. Это сто человек в час. То есть, в одну минуту на сайте находятся 2-4 человека максимум. Это вообще не нагрузка. Поисковики создают и то большую. Это не ирония. Это констатация факта. Сложные проблемы вам пока не по зубам. Вы просто не понимаете, за что беретесь. Вам кажется, что все просто. Посоветуюсь на форуме, полгодика попишу и бац - все готово! Понимаете, какое дело. Не всему можно научиться, "советуясь на форуме". Вам кажется, что разработать хайлоад проект не сильно сложнее ленты новостей. Это не так. Нужно очень много знаний и практического опыта. Которые советами на форуме не приобретаются. Вот чем вам надо заняться. Сначала надо сделать так, чтобы эти сайты вообще не замечали нагрузки. Именно этим вам надо заниматься, если вы хотите в перспективе делать хайлоад. Если у вас сайты на 1000 падают, то вам никаких серверов не хватит. ни 3, ни 33. Если вы заставите работать эти сайты без сбоев - вот тогда можно будет сказать, что вы чему-то научились, кроме бездумного копи-паста. |
|||
|
||||
| begin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Да, согласен с Вами. И мне очень хочется узнать именно теорию того, как в php и в MySql писать скрипты и запросы, чтобы минимизировать нагрузку на сервер. Т.е. мне хочется выработать в себе культуру написания ресурсоНЕемких php-скриптов и sql-запросов. Существует ли какая-нибудь специализированная литература по этой теме? В сети нашел лишь разрозненные упоминания этой проблемы, в своих книгах по php и mysql такого не нахожу и подавно. |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Такая культура приходит только с опытом.
Уже очень много раз предпринимались попытки давать готовые рецепты, но применяемые без опыта, эти рецепты всегда дают противоположный результат. В первую очередь надо научиться оптимизировать работу с БД. Разобраться с индексами. Научиться пользоваться командами benchmark и explain. Находить, с помощью профайлинга, медленные запросы, и учиться их оптимизировать. Уже по одной этой теме нужно прочесть пару учебников. А дальше ведь пойдут следующие уровни - загрузка диска, оперативной памяти, процессора. Выбор веб-сервера. И многое другое. Но начать стоит с БД. Плюс посмотреть на оптимальность своих алгоритмов. Часто бывают ненужные циклы. РНР не должен работать с графикой в режиме отдачи контента ни под каким видом. Графику отдает только веб-сервер. |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Для твоего случая - ИМХО это оптимальный вар-нт. Нужен опыт - набирайся, но вбухивать бабло раньше времени - смысла не вижу. Если опыта мало - почему не начать с простых вещей? Если сайт грамотно построен - ничего не мешает его потом оптимизировать и распределять нагрузку. Если есть желание - можно заранее об этом подумать, но начать всётаки с виртуального хостинга. Вообще что-то слабо верится, что сразу прям будет пиковая посещаемость, всёравно этот процесс будет занимать какое-то время, пока народ узнает. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |