Принимаем к оплате   VISA, MasterCard
© ООО «Ай Ти Констракт», 2005—2018
25.10.2009

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

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

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

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

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

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

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

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

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

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

Роман

Петров