Особенности веб-программирования

На курсах по программированию на PHP меня спросили – а можно ли делать программы для каких-нибудь сложных вычислений, например, математических?

Наверное, в ответе на этот вопрос и кроется одно из отличий веб-программирования от windows программирования (однопользовательского).
В windows вам принадлежат все ресурсы компьютера, и почти неограниченное время.
В вебе вам принадлежит лишь совсем чуть-чуть памяти и немного времени (обычно не более 30-90 секунд). Поэтому сложные и долгие расчеты – не для классических сайтов.

А основная задача веб-сайта (в 99% случаев) – это быстро вернуть посетителю запрошенную страничку и освободить ресурсы для обслуживания других посетителей.

Именно для решения этой задачи существуют такие инструменты, как nginx, lighthttpd, кэширование, eAccelerator и другие.

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

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

Очень часто необходимо провести оптимизацию базы данных. Например, создать дополнительные индексы.
И вот здесь у многих программистов, работающих с готовыми CMS, может возникнуть вопрос – как определить, какие запросы наиболее “тормозят” и какие индексы требуются.
(у большинства веб-разработчиков, правда, возникнет другой вопрос – что такое индексы, но это уже другой вопрос)

Ничего не могу сказать про другие системы, а у 1С-Битрикс есть замечательная вещь – панель производительности. Она позволяет не только разделить причины медленной работы сайта на ошибки программирования и проблемы хостинга, но и увидеть все выполняемые запросы.

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

И тогда все будет хорошо.

Автор поста: Петров Роман

Метки записи: , , , ,

Связанные записи:

2 Comments »

  1. Комментирует Сергей

    September 20, 2010 at 8:49 am

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

    Если вкратце – то то у любого веб производителя есть свои инструменты для эфективной работы. А если брать другие CMS то перед выпуском стабильной версии это все обкатывается и проверяется а потом выносится на суд пользователей. Но уже без этих модулей, зачем они юзеру ? не надо загаживать код ненужными примочками, веб программист сам все сделает.

  2. Комментирует Петров Роман

    September 20, 2010 at 12:29 pm

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

Оставить комментарий

Также Вы можете войти используя: Yandex Google Facebook Вконтакте Twitter Mail.ru OpenID