LINUX.ORG.RU
ФорумTalks

как вы думаете, почему проекты высокой нагрузки (фб, вк) написаны на рнр и не тормозят?

 


1

2

ведь бытует мнение (?), что пых-пых годится лишь для хоумпаги васи.

а ведь есть же отлично мастабируемые (добавлением новых стоек серверов) проекты на пыхи. без намека на лаги.

почему там нет Илитных языков?


Ответ на: комментарий от Solace

думаю если бы вылезли архитектурные проблемы, то движок бы переписали на другом, будь оно нужно.

dk-
() автор топика

Не тормозят наверно потому что помимо php в них используется огромное количество других технологий, а php лишь одна из них, прослойка.

PS. А что, vk тоже «написан на php»?

void
()
Ответ на: комментарий от dk-

Дело не в нём. Засеки сколько времени выполняется типичный скрипт на типичном сайте. Вот эту скорость можно на сколько угодно юзеров масштабировать, лишь бы архитектура была продумана.

karbofos
()
Ответ на: комментарий от firestarter

Разработчики Facebook обнародовали проект HipHop for PHP, который превращает код на языке PHP в код на языке C++. Последний компилируется в обычное приложение, которое выполняется гораздо быстрее, чем сценарий на PHP.

нубо вопрос. а почему не сразу на плюсах писать?

dk-
() автор топика
Ответ на: комментарий от dk-

Там получается нативный код из подмножества php.

zz ★★★★
()
Ответ на: комментарий от dk-

Прозреваю сотни тысяч строк кода на php.

zz ★★★★
()
Ответ на: комментарий от dk-

нубо вопрос. а почему не сразу на плюсах писать?

Потому что всё что понаписали - не перепишешь. Потому что на ассемблере тоже не часто пишут. Иногда проще абстрагироваться от многих нюансов C++ за PHP, а потом перекомпилировать.

karbofos
()

фб и вк - типичные хомпаги васи. Умеют взять у пользователя имя, фамилию, фоточку и вывести их на экран.

почему там нет Илитных языков?

изначально писали на чем умели, а потом уже поздно было метаться

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

ну нихрена. разных перекрестных связей там 100500 тыщ мильенов.

переписать, Если Нужно, для проектов с ТАКИМ БАБЛОМ - вообще не проблема.

dk-
() автор топика

Илитных языков?

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

Reaper ★★
()
Ответ на: комментарий от Reaper

«илитные» по мнениею сферического лоровца из палаты мер и весов

dk-
() автор топика
Ответ на: комментарий от dk-

язык он позволяет закончить проект быстрее, или там сделать меньше тупых ошибок, но язык - это фигня.

Deleted
()
Ответ на: комментарий от Reaper

Под нагрузкой бд становится узким местом, основные извращения с ней начинают делать.

Основное извращение - не юзать бд, внезапно, да.

Deleted
()
Ответ на: комментарий от stevejobs

фб и вк - типичные хомпаги васи. Умеют взять у пользователя имя, фамилию, фоточку и вывести их на экран.

Мсье не знаком с их апи, видеохостингом, системой мгновенных сообщений, лентой, таймлайном и прочим?

Tark ★★
()
Ответ на: комментарий от dk-

разных перекрестных связей там 100500 тыщ мильенов.

дело не в перекрестных связях...

фб просто берет данные из БД и показывает их на экране

или пользователь заполняет форму, а система ее сохраняет в БД и показывает ее на экране

с точки зрения программирования, от сайта васи пупкина отличается только размерами. Тупое отображение инфы.

такое можно хоть на пхп, хоть на перле, хоть на утюге со стамеской писать. Ну, будет неудобно, но ничего страшного, и дешево.

а вот какие-нибудь личные сообщения, контекстная реклама, игры итп - все что требует интерактивность, online analytics - досвиданья похапэ.

Если Нужно, для проектов с ТАКИМ БАБЛОМ - вообще не проблема.

так дело не в бабле, а во времени

stevejobs ★★★★☆
()
Ответ на: комментарий от PaRuSoft

на жабе все кончится сраным orm и прочими тухнологиями которые все и повесят ибо нифига не масштабируются.

Deleted
()

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

Tark ★★
()

FB скажем так не совсем на PHP. VK не знаю, но уверен, что дело в масштабировании, а не в илитности.

Alve ★★★★★
()
Ответ на: комментарий от stevejobs

а вот какие-нибудь личные сообщения, контекстная реклама, игры итп - все что требует интерактивность, online analytics - досвиданья похапэ.

И в фейсбуке, и во вконтакте всё это есть.

Tark ★★
()
Ответ на: комментарий от firestarter

Стоп-стоп-стоп. Сначала запускается какое-то приложение, чтобы транслировать php в C++. Потом C++ компилируется. Потом он генерирует php код, который скармливается серверу и делает html страницу? Чего? О_о

AlexCones ★★★
()

а вообще покури http://www.insight-it.ru/ там про архитектуру втентакля и фейспалма есть, причем таким не особо программистским языком.

Deleted
()
Ответ на: комментарий от Tark

И в фейсбуке, и во вконтакте всё это есть.

и написано это все не на похапэ, потому что на похапэ написать это технически невозможно никак.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

у меня на работе половина специалистов ежедневно совокупляется с этим стеком, они бы тебе все сказали, но увы заняты масштабированием оракловского стека.

Deleted
()
Ответ на: комментарий от Deleted

Основное извращение - не юзать бд, внезапно, да.

Ты сможешь прославиться и получить премию мира имени кого-нибудь, если разошлёшь свою ценную идею всем крупным интернет-проектам. Мужики-то не знают, а оно вон как выходит, если выкинут бд на помойку, всё сильно ускорится у них у всех. Ура, найдена серебряная пуля!

Reaper ★★
()
Ответ на: комментарий от Tark

Мсье не знаком с их апи, видеохостингом, системой мгновенных сообщений, лентой, таймлайном и прочим?

Это не так страшно, на самом деле. Обычный CRUD. Большое число пользователей и высокая посещаемость создают впечатление сложности. Но это не сложность, это просто большая нагрузка на серверы, решается это массой способов для любых технологий.

Alve ★★★★★
()
Ответ на: комментарий от stevejobs

и написано это все не на похапэ, потому что на похапэ написать это технически невозможно никак.

Меня это удивило, но в фесбуке в основном вся логика написана на php. На других языках иногда пишут интерфейсы для доступа к данным, но логику всё-равно на php. Видимо с точки зрения инженерии было практичнее сделать так.

Tark ★★
()
Ответ на: комментарий от dk-

Так по идее, там не к языку основные требования.

Solace ★★
()
Ответ на: комментарий от Reaper

Вот так незамысловато можно в Homo Sapiens можно разбудить жывотное - Petrosianos Vulgaris

А ведь ему не в домек что получение данных от сервисов (нихрена не тех что веб сервисы через хмл), а не тупо из бд, позволяет сильно упростить масштабирование. Тупо потому что у разных данных разное время жизни и соотв. разные алгоритмы кеширования нужны.

Deleted
()
Ответ на: комментарий от stevejobs

игры итп - все что требует интерактивность

...вконтакте пишут на еще более тормозном флеше

goingUp ★★★★★
()

У пыха очень простая роль. Про CRUD уже говорилось - получить запрос из WEBа и реализовать диспетчеризацию, рендерить ответы (таки PHP это DSL для рисования формочек). Получается минималистичная и тонкая прослойка.

Оптимизации, такие как хип-хоп, уменьшают количество серверов, которых ну очень много в масштабах проекта.

outtaspace ★★★
()
Ответ на: комментарий от Reaper

если выкинут бд на помойку, всё сильно ускорится у них у всех

man in memory db, man nosql решения без ACID

Nagwal ★★★★
()
Ответ на: комментарий от Tark

Да невозможно это сделать на похапэ! Похапэ - сраный скрипт, который энцать миллисекунд что-то там месит и печатает на экране. А приоритизированные очереди сообщений - это дохренища непрерывных потоковых вычислений. Презентационную догику типа «если пользователь онлайн - нарисуем ему иконку с веселой рожицей» на похапэ прогать можно, логику типа «вот эти восемьнадцать миллионов сообщений мы отсортируем по геолокации и отправим на четвертый гейтвей, а вот эти шесть миллионов из Москвы сортировать не будем - кинем как есть на первый, а сообщения из игр прямо потоком без всяких фильтров» - как ты представляешь это делать между перезагрузками страницы? ))) Нужен отдельный сервер очередей, типа RabbitMQ, нужен отдельный кэш типа Redis, нужны отдельные БД типа couchbase2 и Oracle (а в Oracle - stored procedures на PL/SQL и жабке), и вся эта машинерия уже абсолютно никак с похапэ не связана...

stevejobs ★★★★☆
()
Ответ на: комментарий от Deleted

А тебя никто не заставлял Петросянить. Абстрактно предлагать выкинуть бд равнозначно предложнию писать абсолютно всё на ассемблере или на бейсике, или обзывать все переменные начиная с подчёркивания.

Reaper ★★
()

Много тачек, bottleneck не на темплейтинге страниц, так как вообщем основной траффик - json. Плюс в фейсбуке особенная VM. Достаточно полный ответ?

почему там нет Илитных языков?

И так все работает

vertexua ★★★★★
()
Ответ на: комментарий от Reaper

Абстрактно предлагать выкинуть бд

А я этого не писал, не «юзать бд» - это значит не юзать,а не выкинуть. Юзаешь ты сервисы, а они могут бд юзать, а могут тупо файлики юзать или какойнить мемкеш - для чатика - больше и ненадо.

Deleted
()
Ответ на: комментарий от stevejobs

Ты еще забыл написать, что нужен веб-сервер и html, и «сраный» php тут нам тоже не поможет

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

откуда угодно, фишка в том что у тебя появляется «жопа данными заведующая» и умеющая их кешировать, сбрасывать кеш, репликация меж нод и т.п.

т.к. очевидно что список пользователей, мессаги на стене, чатик и видеоролики - стоит хранить и кешировать по разному.

Deleted
()
Ответ на: комментарий от stevejobs

На любом языке можно писать демоны, на любом языке можно использовать не реляционные СУБД, и в общем-то на любом языке можно кидать сообщения через amqp. Сейчас это можно без проблем и весьма комфортно чуть ли не на sh написать, ты что сказать то хотел?

Tark ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.