Рубрики
Uncategorized

Инвентаризация PHP и ASP. ЧИСТЫЙ 10 большой контраст!

Автор оригинала: David Wong.

[Примечание редактора] В этой статье в основном сравнивается PHP с открытым исходным кодом с открытым исходным кодом ASP.NET с точки зрения производительности, стоимости, масштабируемости, технической поддержки и сложности.

На онлайн-форумах всегда есть сотни статей и сообщений, обсуждающих PHP и ASP. NET. Кто является лучшей платформой? К сожалению, мнения большинства людей предвзяты, и люди склонны продвигать свой любимый язык сознательно или неосознанно.

Кроме того, если вы заметили даты этих противоречивых сообщений и статей, вы обнаружите, что большая часть информации устарела. К сожалению, информация, представленная в статьях перед тестом на ранжирование поиска, больше не действительна. Нам также необходимо учитывать, что PHP и ASP. СЕТЬ периодически обновляется и оптимизируется.

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

Резюме:

О производительности: Я объясню факторы, влияющие на производительность, и результаты докажут, что в большинстве случаев бессмысленно выбирать язык программирования из-за скорости.

О расширяемости: Я подробно остановлюсь на факторах, влияющих на расширяемость, но на самом деле, пока метод программирования верен, расширяемость обоих языков очень сильна.

О стоимости и технической поддержке: Поскольку PHP является открытым исходным кодом, он обычно работает на платформах с открытым исходным кодом, таких как LAMP (Linux, Apache, MYSQL и PHP). Таким образом, PHP превосходит ASP. НЕТТО в предоставлении наиболее экономически эффективного решения и предоставлении большого объема ресурсов и поддержки.

В среднем время развертывания (то есть дополнительные затраты): Кодирование с помощью ASP. NET требует в два раза больше кода, чем при использовании PHP, поэтому время развертывания с помощью PHP дешевле и быстрее.

Автор подробно остановится на каждом аспекте ниже и приложит свои мнения.

1. Расширяемость и ремонтопригодность

Независимо от того, выбираете ли вы PHP или ASP. СЕТЕВАЯ платформа, это не повлияет на масштабируемость и ремонтопригодность. Расширяемость и ремонтопригодность веб-приложений зависят главным образом от следующих аспектов:

  • Опыт работы программистов

  • Использование лучших методов кодирования

  • Использование надежной структуры программирования

  • Следуя Руководящим принципам и стандартам программирования

2. Производительность и скорость

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

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

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

Далее я проанализирую различные распространенные и необычные сценарии и объясню, какая задача лучше.

Первая распространенная ситуация

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

Если вы рассматриваете общие основные серверы баз данных, MySQL (теперь Oracle), PostgreSQL, MSSQL и Oracle-все они пытаются повысить скорость и производительность. Мы видим, что каждая версия обновления сервера баз данных принесет новые функции и улучшит производительность, поэтому автор считает, что до тех пор, пока программисты баз данных используют оптимизированные и практичные SQL-запросы и при необходимости используют расширенные функции, такие как кэширование, любой из вышеперечисленных серверов баз данных будет иметь очень высокую производительность.

Google, Facebook, YouTube, Yahoo и FIFA, которые недавно завоевали огромную аудиторию на чемпионате мира, используют MYSQL. Таким образом, нет никаких сомнений в возможностях сервера баз данных MySQL.

Основываясь на онлайн-статистическом опросе, скорость связи и интерфейса между PHP и MySQL выше, чем у ASP. NET и MSSQL к моменту отправки, но это не очевидно.

Вторая распространенная ситуация

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

Основываясь на онлайн-статистике, производительность операционной системы Linux и EXT4 (файловой системы) на момент отправки лучше, чем у операционной системы Windows и NTFS (файловой системы).

Третья распространенная ситуация

Большинство серверов Linux/Unix работают просто без каких-либо дополнительных ненужных пакетов или графических интерфейсов, поэтому этим операционным системам требуется лишь небольшое количество процессора и оперативной памяти, оставляя больше ресурсов для базы данных и веб-сервера.

Большинство серверов Windows громоздки для запуска, и многие избыточные пакеты занимают много процессора и оперативной памяти.

Очевидно, что платформа LAMP имеет больше преимуществ, чем ASP. СЕТЕВАЯ платформа, потому что у нее больше доступных ресурсов.

Четвертый необычный случай

ASP.NET обычно пишется на C #. Вообще говоря, до сих пор C# был более быстрым языком программирования, чем PHP. (Но это также может измениться, потому что языки программирования постоянно обновляются для повышения скорости.) Поэтому, предполагая, что для завершения расчета требуется 2 000 000 циклов, ASP.NET программы, написанные на C#, будут работать быстрее, чем программы на PHP. Однако это очень редкий случай, когда число итераций для каждого вычисления составляет не более нескольких сотен, а не 2 000 000. Более того, в этом случае мы должны рассмотреть, почему нам нужно выполнить расчет цикла в 2 000 000.

Другие факторы, которые не имеют ничего общего с языками программирования, но влияют на производительность, включают:

  • Запас знаний программистов и умение писать код

  • Запас знаний и способности Программистов в Написании инструкций SQL-запросов

  • Функции, которые необходимо реализовать (выполнение некоторых из них в ASP занимает больше времени. В сети, чем на PHP, другие оказываются противоположными)

Говоря о производительности, я должен рассказать о некоторых профессиональных инструментах мониторинга производительности приложений. Он может эффективно оптимизировать код, инструкции SQL и так далее, а также снизить влияние кодирования на производительность и скорость.

AppDynamics

НьюРелик

ОДИНАПМ

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

3. стоимость

Использование и обновление PHP, сервера MySQL, сервера PostgreSQL, сервера Apache и операционной системы Linux являются бесплатными. Кроме того, не взимается дополнительная плата за лицензирование для настройки резервного хоста или запуска нескольких серверов для балансировки нагрузки или создания кластеров серверов.

LAMP (Linux, Apache, MySQL и PHP) также более популярен среди хостинговых компаний. По сравнению с хостами Windows, популярность хостов LAMP снижает ежемесячную стоимость хостинга.

Если вы покупаете операционную систему Windows, ASP. Сеть и IIS бесплатны. Серверы Microsoft Windows, серверы SQL и будущие обновления стоят дорого. Например, Microsoft Server 2008 R2 64 Standard Edition стоит около 1029 долларов, в то время как Microsoft SQL Server 2008 для малого бизнеса стоит около 1038 долларов.

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

4. Поддержка и ресурсы

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

Я упоминаю термин “дружелюбие”, потому что разработчики, которые вносят свой вклад в сообщество с открытым исходным кодом, не преследуют экономической выгоды. Если вы столкнулись с функциональными проблемами в процессе кодирования и вам нужна помощь, зайдите на форум PHP и задайте вопросы, вы получите полезную информацию от дружелюбных программистов.

ASP.NET больше полагается на ограниченное число разработчиков Microsoft для внесения улучшений и обновлений. Участники, которые могут помочь решить ASP. СЕТИ относительно невелики.

5. Время развертывания

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

Кроме того, PHP компилируется на стороне сервера, поэтому изменения можно увидеть без дополнительных шагов при изменении функциональности. И наоборот, ЖЕРЕХ. Чистый код необходимо компилировать каждый раз, когда он изменяется. То есть, ЖЕРЕХ. NET отнимает больше времени в процессе разработки, чем PHP.

6. Компиляторы и инструменты

Как PHP, так и MySQL имеют независимые компиляторы, и разработчики PHP могут получить большее количество компиляторов.

Большинство ASP.NET программисты полагаются на компилятор Microsoft Visual Studio для разработки. СЕТЕВЫЕ программы. (Многие ASP.NET программисты любят и ненавидят Microsoft Visual Studio.)

Это совершенно другой стиль программирования – программисты и разработчики с открытым исходным кодом, использующие PHP, предпочитают текстовые редакторы, такие как VI, VIM, Notepad ++.

VI и VIM-очень продвинутые независимые редакторы. После того, как разработчики полностью поймут производительность этих редакторов, они смогут быстро, эффективно и независимо выполнять сложное программирование. В результате они могут более гибко управлять кодом. Когда дело доходит до использования или интеграции с JavaScript, Ajax, jQuery и другими платформами, разработчики PHP часто имеют преимущество, поскольку они знакомы со средами с открытым исходным кодом и используют VI или VIM для написания кода вручную.

7. Независимость от платформы

PHP не зависит от платформы и может работать на любой платформе в Linux, Unix, Mac OS X, Windows. ASP.NET может работать только на платформе Windows.

8. На каких платформах работают популярные веб-сайты?

В таблице ниже перечислены платформы и языки, используемые в настоящее время популярными сайтами. Примечание: Пожалуйста, не путайте C с C# (произносится с диезом) — это совершенно разные языки программирования. ASP .net в основном программируется на C# (C Sharp) или Visual Basic, а не на C. Примечание: Не путайте C с C#, это два совершенно разных языка программирования. ГАДЮКА. NET обычно использует C # или Visual Basic для программирования, а не язык Си.

В таблице ниже перечислены платформы и языки, используемые в настоящее время популярными сайтами. Примечание: Пожалуйста, не путайте C с C# (произносится с диезом) — это совершенно разные языки программирования. ASP .net в основном программируется на C# (C Sharp) или Visual Basic, а не на C. Примечание: Не путайте C с C#, это два совершенно разных языка программирования. ГАДЮКА. NET обычно использует C # или Visual Basic для программирования, а не язык Си. Ноябрь 1998 года Линукс C, Java, C++, PHP и MySQL
В таблице ниже перечислены платформы и языки, используемые в настоящее время популярными сайтами. Примечание: Пожалуйста, не путайте C с C# (произносится с диезом) — это совершенно разные языки программирования. ASP .net в основном программируется на C# (C Sharp) или Visual Basic, а не на C. Примечание: Не путайте C с C#, это два совершенно разных языка программирования. ГАДЮКА. NET обычно использует C # или Visual Basic для программирования, а не язык Си. Февраль 2004 Линукс PHP, MySQL и C++
YouTube.com Февраль 2005 года Линукс C, Java и MySQL
YouTube.com Февраль 2005 года Август 1995 года Линукс C++, C, Java, PHP и MySQL
MSN.com (принадлежит корпорации Майкрософт) Август 1995 года Окна C++, C, Java, PHP и MySQL
Live.com (принадлежит корпорации Майкрософт) Август 2008 года Окна C++, C, Java, PHP и MySQL
Википедия Январь 2001 года Линукс PHP и MySQL
Википедия Октябрь 1995 года Linux и Солярис C++, Java, J2EE
Википедия Ноябрь 2005 Линукс PHP и MySQL

9. Популярность

Платформа LAMP более популярна, чем платформа Windows. Опрос данных 205, 714 и 253 веб-серверов, проведенный Netcraft в июле 2010 года, показывает, что 112, 945, 968 (54,90%) Веб-серверы размещены на Apache, 53, 217, 620 (25.87%) Веб-серверы размещаются в Windows, а остальные-на других платформах.

10. Доступность и возможность развертывания

Существует долгая история недружественной дезинформации о Linux.

На самом деле, это зависит от опыта пользователя и уровня знаний в области создания платформы.

Но я должен сказать, что нынешний популярный улучшенный дистрибутив Linux произвел на автора глубокое впечатление. Дистрибутивы, такие как Ubuntu, Little Red Hat, CentOS, openSUSE и Fedora, не только просты в установке и развертывании, но также обеспечивают простой и прямой графический интерфейс, что облегчает настройку серверов Linux.

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

Первоначальный адрес: http://www.comentum.com/php -vs-asp.net-comparison.html