Category: работа

old rover

Принципы создания высоконагруженных систем

Подобными заголовками пестрят практически все вакансии программистов, и все - вакансии программистов на PHP, которые с зарплатой больше 35 тысяч. А что такое, собственно, эти самые принципы создания высоконагруженных систем применительно к php? Если ввести соответствующие слова в строку поиска, то первая страница ответов будет состоять сплошь из ссылок на требования к соискателям вакансий.

Ну вот я могу сказать точно то, что наш проектище разрабатывался явно без учёта этих таинственных принципов. Чуть более крупный клиент, у которого в базе не 10000, а 400000 пользователей - и всё, дохренищаядерный сервачище загибается. Форки апача даже за нгинксом отжирают пять гектар оперативной памяти.

Так что же это за принципы? Оптимизация кода без гоняния туда-сюда здоровенных массивов с данными и передача их по ссылке, а не по значению? Тщательная слежка за тем, как работает уборщик мусора (а у него есть определённые странности в поведении, да)? Кэширование всего, что только можно, на всех уровнях, начиная от запросов к БД и кончая отрендеренными в html страничками? Поиск только по индексам, дескрипторные таблицы на MyISAM?