|
|
|
| Доброго времени суток.
Извиняюсь, если не по теме.
Хотелось бы услышать мнение специалистов.
Есть проекты с посещаемость 10.000-20.000 уник. чел. в день. Написаны чисто на PHP + MySQL.
Стоит ли с целью уменьшения нагрузок использовать какие-то альтернативные технологии?
Например, вижу 2 варианта:
1) Изучение Си библиотек или фреймоков типа:
http://www.webtoolkit.eu/wt
http://cppcms.sourceforge.net/wikipp/en/page/main
Насколько сейчас актуально написание web-приложений на СИ? Есть ли у этой технологии будущее? Насколько мне известно, движок фейсбука сейчас переписали на Си..
2) Использование Smarty. Есть ли вообще какая-то польза в использовании Smarty? Его сегодня используют или он уже морально устарел???
С уважением. | |
|
|
|
|
|
|
|
для: Jaroslav
(13.07.2011 в 20:01)
| | 1) Дорого на Си полностью сайт разрабатывать (разработчиков нужно больше, больше нужно времени), обычно кэш-систему для PHP-сайтов разрабатывают в виде расширения PHP, можно еще ряд расширений ввести. Но вообще говоря возможно в вашей ситуации это и выход, если легко сможете набрать штат квалифицированных разработчиков, что по нашим временам уже фантастично звучит (а их может потребоваться больше, чем PHP-разработчиков, работают они медленнее, а зарплату просят больше и не без оснований).
2) По поводу Smarty, возможно вас заинтересует тема по ссылке http://softtime.ru/forum/read.php?id_forum=2&id_theme=81441, помоему там высказали все плюсы, минусы, альтернативы. Мне лично кажется, что вам выгоднее переложить часть вычислений с сервера на клиента, т.е. интернсивнее использовать JavaScript-библиотеки. Smarty он если абстрагироваться от кэширования (его вы сами можете реализовать, а то и сервер для этого дополнительны выделить) выгоден на маленьких проектов, которых на сервере ютиться несколько штук. | |
|
|
|
|
|
|
|
для: cheops
(13.07.2011 в 20:37)
| | Спасибо, понятно. Т.е. пока мы ещё маленькие, можно заниматься оптимизацией PHP + MySQL и побольше использовать javascript. :) А вообще есть ли примеры сайтов, разработанных полностью на Си? Хотелось бы заценить, насколько они быстро работают. | |
|
|
|
|
|
|
|
для: Jaroslav
(13.07.2011 в 21:29)
| | Есть, правда, пальцем не покажу (а примеры вроде Google я думаю вас не заинтересует)... есть даже студии полностью разрабатывающие сайты на C/C++, но дела у них так себе идут - сложно держать конкуренцию с интерпретируемыми языками, в которых разработчиков нужно меньше, а результат в общем не сильно плохой получается (особенно, если с головой к базе данных и структуре сайта подойти), а уж в плане скорости разработки, поддержки, стоимости так и говорить нечего. Однако, когда вы переходите на несколько серверов, понятно, что вас будут интересовать способы уменьшения их количества и вообще пребывания в состоянии без кучи серверов... Но я бы не стал отказывать от PHP (максимум - парочку своих собственных расширений), а обратил бы внимание на базу данных и её архитектуру (обычно она основную нагрузку создает). А архитектура базы данных здорово изменится, когда вы захотите её масштабировать на несколько серверов (а это могло бы здорово вам развязать руки, без переходов на Си, который вас может погубить). Переход на Си в плане скорости вам даст не много (я бы, покрайней мере не ожидал бы бешенного прироста скорости), это Фейсбуку может быть выгодно (у него серверов много) и он очень глубоко интегрирует довольно интересные приложения и вообще мечтает уйти в отрыв (в голубой океан), как Google. Не удивлюсь, если основной целью их PHP-Сишных усилий было не ускорение приложений, а подготовка для интеграции в сайт всякого разного, чего еще в Веб не бывало. | |
|
|
|
|
|
|
|
для: cheops
(13.07.2011 в 21:41)
| | спасибо. | |
|
|
|
|
|
|
|
для: cheops
(13.07.2011 в 21:41)
| | Подскажите, пожалуйста, а как вы относитесь к Node.JS ? Его стоит осваивать и усиленно внедрять для проектов с повышенной нагрузкой? | |
|
|
|
|
|
|
|
для: Jaroslav
(13.07.2011 в 23:36)
| | Если честно, никак не отношусь... этот вопросы по JS наверное лучше на форуме HTML+CSS+JavaScript инициализировать - там вероятность толкового совета повыше. Мы сейчас ориентируемся на jQuery, это хоть как-то приближается к стандарту, обеспечивает кросс-браузерность, хотя это решение на несколько лет (нужно что-то менять в этой области кардинально, либо двигать jQuery на уровень отраслевого стандарта и включать в дистрибутив браузера, либо еще чего-то, то что сейчас - не дело). Однако эту библиотеку поддержала индустрия и гиганты, у неё есть ряд фундаментальных особенностей, которые должны были бы быть на уровне JS, но не могут быть туда внедрены уже лет 10 по политическим мотивам... А так я к JS отношусь как любой нормальный программист - это слишком зыбкая почва, которая изменяется от браузера к браузеру, от версии к версии, которая слишком закрывает информацию от поисковых систем, которая из-за обильных библиотек утяжеляет страницу, и вообще требуется немало искусства, чтобы выжать из неё пользу (ладно, хоть отладку из этого скорбного списка можно исключить - сейчас она поднялась на цивилизованный уровень)... Из PHP любой школьник выжмет себе и денег и пользы, из JS - это сложнее (хотя год от года это становится проще).
PS Если видите схему, где сможете поиметь выгоду на этой библиотеке - используйте, покрайней мере попытайтесь, у меня нет ни отрицательного, ни положительного опыта с этой библиотекой. Посмотрите, потому может кому посоветуете или отсоветуете. | |
|
|
|
|
|
|
|
для: cheops
(13.07.2011 в 23:47)
| | Это не библиотека.
-------------------------------------------------------------
Node.js — событийно-ориентированный I/O фреймворк на JavaScript движке V8. Предназначен для создания масштабируемых сетевых приложений, таких как веб-сервер. Node.js по целям использования сходен с фреймворками Twisted на языке Python и EventMachine на Ruby. В отличие от большинства программ JavaScript, этот фреймворк исполняется не в браузере клиента, а на стороне сервера.
-------------------------------------------------------------
Т.е. javascript выполняется на стороне сервера. (от браузеров не зависит). Этим и интересна. Да ещё и очень быстрый движок. :) | |
|
|
|
|
|
|
|
для: Jaroslav
(13.07.2011 в 23:36)
| | Осваивать можно, но усиленно внедрять пока рановато будет, т.к. сырой еще, а вообще за ним будущее. | |
|
|
|
|
|
|
|
для: Jaroslav
(13.07.2011 в 20:01)
| | Си — не лучший вариант. Переписать часть сайта на си очень сложно. Сложно в плане дальнейшей поддержки и затраченных на это средств (материальных и умственных).
Для начала нужно провести профайлинг и выяснить что именно нагружает систему больше всего. От этого и нужно отталкиваться. | |
|
|
|