1) Какую бы ерунду вы ни делали с PHP, узким местом _всегда_ является база данных.
PHP это как Буратино - тупой КАК.
дрова.
Lighttpd и Nginx позволяют без шума и пыли распределить его сразу по множеству физических серверов.
Зарплата адекватного PHP-специалиста в Москве 30-45 тысяч рублей в месяц, стоимость аренды нормального сервера — от 3 тысяч рублей в месяц.
Вы не знали ;)? 2) Какой бы ерундой вы не занимались, 30-60% производительности (можно и больше) PHP-кода будет решать правильно выбранный и настроенный ускоритель.
3) Серебряной пули не существует. Неважно, какую концепцию вы используете — строгий ООП (стиль Zend Framework), функции в стиле PHP4 (или ограниченный ООП) или просто лапшу в стиле «PHP для чайников» — ни одна из этих парадигм не даст заметного прироста производительности.
, если конечно ваши программисты выше хотя бы на голову.
4) Самый быстрый код — это код, которого не существует. И обязательно — когда нет запросов к базе данных (см.
пункт 1).
Таким образом, кеширование — это определенно то, с чего начинается высокая производительность.
Смело забудьте о _любой_ оптимизации, пока у вас еще есть возможность что-то кэшировать.
Все можно кэшировать.
Вопрос только в том, как отправлять уведомления о необходимости обновления тех или иных участков кеша.
(Возможно, кто-то помнит баги сайта free-lance.ru, когда одни и те же цифры в разных местах были разными, что вызывало массу недоразумений.
Это обидно.
) И как правило, чем выше уровень абстракции, тем выше уровень абстракции.
чем ниже код производительности, тем больше возможность кэширования при той же стоимости человеко-часов.
И в результате при более высокой абстракции можно выжать больше конечной производительности за счет кэширования.
Но это кто-нибудь умеет делать :) (см.
пункт 3).
5) Если вы думаете, что эхо работает быстрее, чем печать, вы неудачник.
В современных MVC-проектах, как правило, такие фичи вызываются максимум три раза: во фронт-контроллере, в AJAX-контроллере и в RSS-контроллере - то есть максимум три оператора вывода в стандартный поток за весь ваш огромный проект. 6) Если вы молитесь за фронт-контроллер Zend Framework, это ваше право.
Но его концепцию "/key/value/" считают революционной люди, которые не видели ничего, кроме Эkey=value&foo=bar, но кто-то использовал концепцию /virtdir1/virtdir2/virtfile/, используя грязные хаки ОШИБКА 404, задолго до ее широкое появление на виртуальном хостинге (и очень задолго до появления VDS) mod_rewrite (и PHP5 ;).
Конечно, фронт-контроллер ZF очень гибкий, но не проще ли было бы написать свой? Все вышесказанное справедливо только для крупных проектов; если вы пишете много мелких, это не для вас (используйте стандартный Front Controller ZF и ориентируйтесь на простоту поддержки).
7) echo "preved $foo $bar"; эхо 'предварил'.
$фу.
''.
$бар; echo 'preved', $foo, '', $bar; sprintf('preved %1$s %2$s', $foo, $bar); Как опытный профессионал в области высоких нагрузок, можете ли вы с закрытыми глазами сказать, какой дизайн быстрее? Расслабь свой анус, друг мой, ты неудачник.
Можно точно и аргументировано сказать, какую концепцию выбрать стандартной в рамках большого проекта – респект. 8) Забудьте и навсегда отправьте виртуальные хостинги себе в глубокий анус как самый страшный кошмар.
Идите и купите себе виртуальный выделенный сервер с root-правами за > =150 рублей в месяц.
Установите туда свой любимый Debian/Gentoo/FreeBSD и управляйте им как Root Almighty! Отныне ты свободен! :) 9) Если PHP работает под Windows на вашей рабочей машине, вы чувствуете запах цветов в противогазе.
Если вы хотите стать профессиональным серверным программистом для *nix, смело сносите Windows и устанавливайте *nix (Linux, FreeBSD, OpenSolaris и т. д.).
Если такой цели нет, вы можете запустить *nix-сервер в виртуальная машина (Virtual Box, VMvare и т. д.), но, пожалуйста, не мучайте PHP - не запускайте его в Windows. 10) Если на вашей рабочей машине PHP работает без акселератора - вы нюхаете цветы в противогазе, надетом на респиратор, а поверх этой гламурной одежды на вас еще и.
ТАНК! Ставьте уже акселератор, блин! (upd: имеется в виду машина разработки) 11) Если вы думаете, что освоили PHP5, вы неудачник.
Всегда есть чему поучиться.
Если вы точно знаете, у кого вам есть чему поучиться, дальше можно не читать.
12) PHP5 (PHP4 забудьте как страшный сон!) - очень коварная штука.
Там слишком много людей.
Большинство программистов находятся на уровне «ниже плинтуса».
Более того, некоторые из них умудряются писать умные книги (кстати, я до сих пор не видел ни одной нормальной книги по PHP5), и обучать людей «премудростям PHP-программирования» многими другими способами.
Научитесь отделять зёрна от плевел – то есть чайников от профессионалов, этот навык будет для вас одним из самых важных.
Учитесь у профессионалов.
Возможно, вы даже не представляете, сколько времени можно потратить, пытаясь чему-то научиться у чайников (и, кстати, тоже мне не верьте ;) 13) И не верьте никому, кто утверждает, что PHP5 — «плохая» технология, пока вы не разберетесь в ней хотя бы на 90% и не будете точно знать, чего вам в ней не хватает ;) upd: Естественно, все вышесказанное относится к тем проектам, где есть хоть какая-то сложность и загруженность.
Теги: #php #php5 #hi-load #OOP #design #php
-
Ментальная Карта Интернет-Маркетинга
19 Oct, 24