Intereting Posts
Какой метод лучше всего построить для этого сложного графа PHPUnit: утверждают, что два массива равны, но порядок элементов не важен Нужна помощь с регулярным выражением, чтобы удалить квадратные скобки и что-нибудь между Временное сохранение изображения в php только при отображении на веб-странице Вытягивание позиций НХЛ из таблицы XML с PHP как использовать isset внутри addCondition в yii-критериях проблема с конкретной конфигурацией модуля zend Вопрос дизайна: как показать количество пользователей онлайн? Multi select PHP Можно ли полагаться на IP-адрес Paypal исключительно для регистрации покупок? Ошибка Mysql & PHP: количество столбцов не соответствует количеству значений в строке 1 Обновите содержимое div только в том случае, если в базу данных добавлен новый контент Использование PHP, MSSQL, JQuery для мгновенного поиска Создание временной метки PHP / MySQL выглядит более привлекательно распечатка изображений mySQL blob?

Стоимость масштабирования Rails и стоимость масштабирования PHP и Python

Думаю, этот вопрос много задавался. Я знаю, что Rails может масштабироваться, потому что я работал над этим, и это потрясающе. И в этом нет сомнений в том, что касается фреймворков PHP.

Я не хочу знать, какие рамки лучше.

Какова разница в стоимости масштабирования Rails vs других фреймворков (PHP, Python), предполагающих большое приложение с 1 миллионом посещений в месяц?

Это то, о чем меня много спрашивают. Я могу объяснить людям, что «Rails действительно масштабируется очень хорошо», но в конечном итоге, какова экономика?

Если кто-то может предоставить некоторые показатели, это было бы здорово.

Related of "Стоимость масштабирования Rails и стоимость масштабирования PHP и Python"

Одним из основных факторов в этом является то, что выбор платформы не зависит от доступа к базе данных. Независимо от того, какой подход вы используете, вы, вероятно, поместите данные в реляционную базу данных. Тогда возникает вопрос, насколько эффективно вы можете получить данные из базы данных. Это в первую очередь зависит от RDBMS (Oracle против Postgres против MySQL), а не от структуры – за исключением того, что некоторая библиотека сопоставления данных может сделать неэффективное использование SQL.

Для чистого параметра «количество посещений» возникает вопрос, насколько быстро работает ваша система шаблонов HTML. Итак, вопрос в том, сколько страниц вы можете сделать в секунду? Я бы сделал это основным показателем, чтобы определить, насколько хорошо будет масштабироваться система.

Конечно, разные страницы могут иметь разные затраты; для некоторых вы можете использовать кеширование, но не для других. Поэтому, измеряя масштабируемость, разделите 1 миллион посещений на дешевые и дорогие страницы и измерьте их отдельно. Вместе они должны дать хорошую оценку загрузки вашей системы (или количества систем, необходимых для удовлетворения спроса).

Существует также проблема использования памяти. Если у вас есть данные в SQL, это не имеет значения – но с кешированием вам также может потребоваться масштабируемость. использование основной памяти.

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

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

Если вам требуется кэширование памяти, вы, по крайней мере, будете использовать memcached (или что-то подобное, которое будет взаимодействовать со всеми тремя языками). Возможно, вы помогаете вашей масштабируемости, используя nginx для работы непосредственно из memcache, но это, очевидно, не изменит производительность php / perl / python / ruby.

Если вы используете MySQL или Postgresql, вам все равно придется правильно создавать свою базу данных для масштабирования независимо от языка вашего приложения, и любой инструмент, который вы используете для начала кластеризации / зеркалирования, будет находиться вне вашего приложения.

Я думаю, что с точки зрения использования памяти Python (с режимом демона mod_wsgi) и Ruby (корпоративный рубин с пассажиром / mod_rack) имеют довольно приличные отпечатки, по крайней мере сопоставимые с PHP под fcgi и, вероятно, лучше, чем PHP в mod_php (например, apache MPM prefork + php in все процессы Apache засасывают много памяти).

Там, где этот вопрос может быть интересным, вы пытаетесь сравнить эти 3 языка с чем-то вроде Erlang, где вы (предположительно) имеете дешевую встроенную масштабируемость автоматически во всех процессах Erlang, но даже тогда у вас будет узкое место в базе данных РСУБД, если ваше приложение не будет приятно вписывается в один из путей к базе данных Erlang, например, couchdb.

К сожалению, я не знаю никакого сравнения затрат Rails, PHP и Django. Но я знаю сравнение затрат некоторых веб-фреймворков Java: Spring (9k $), Wicket (59k $), GWT (6k $) и JSF (49k $).

У вас есть оригинальная конференция здесь:

http://www.devoxx.com/display/DV11/WWW++World+Wide+Wait++A+Performance+Comparison+of+Java+Web+Frameworks

Там у вас есть сообщение об этом (короче):

http://blog.websitesframeworks.com/2013/03/web-frameworks-benchmarks-192/

Если вы хотите попытаться рассказать об этой стоимости. Вы можете перекрестить эти данные с помощью bencharmk, предложенного Techempower:

http://www.techempower.com/benchmarks/

Итак, если вы знаете, что Spring довольно дешев, а Wicket и Django / Rails имеют худшие оценки в тестах, чем Wicket и Spring, это, вероятно, означает, что они будут представлять более высокую стоимость.

Надеюсь, поможет.