Я достаточно хорошо знаю PHP. Но один аспект PHP, в котором я довольно зеленый, - это кеширование, балансировка нагрузки и т. Д.
Многие компании, нанимающие PHP-разработчиков, ищут этот часто используемый опыт, а я никогда не разрабатывал корпоративную инфраструктуру с PHP.
Это больше похоже на вещи типа системного администратора, поэтому я немного смущаюсь, когда компании всегда просят об этом. В любом случае, я думаю, мне лучше научиться.
Где лучше начать изучать все это?
Я не могу назвать вам конкретные места для начала, но я продолжаю http://highscalability.com/ в моем RSS-канале, поскольку у них всегда есть очень интересные статьи, охватывающие все, от теории до реальных случаев с очень большими средами (например, Flickr, Squarespace, Youtube)
Я могу рекомендовать Создание масштабируемых веб-сайтов, который написал один из сотрудников Flickr. Искусство планирования мощности, также от Flickr bods, также полезен в качестве дополнительного чтения. Оба они имеют дело с серверной частью.
Высокопроизводительные веб-сайты и Еще более быстрые веб-сайты взяты из лучших практик Yahoo по ускорению работы вашего сайта с точки зрения пользователей. Они больше связаны с тем, как быстрее разместить страницу перед пользователем, чем с тем, как быстрее обрабатывать страницу. Такие вещи, как размещение javascript внизу страницы, чтобы браузер не блокировал. Они также говорят о том, чтобы делать меньше запросов к серверам, за счет таких вещей, как дружественность к кешу, использование одного изображения для всех ваших значков и использование css для отображения только небольшой части этого большого изображения в нужном месте.
Между ними есть небольшое совпадение, но я прочитал первые три и очень рекомендую их.
Что касается PHP, кажется, единственный способ сделать это быстро - это кешировать раньше и часто кешировать. В частности, посмотрите memcache и APC. Еще одна вещь, которую следует учитывать, заключается в том, что в какой-то момент обработчик сеанса по умолчанию заблокировал файл сеанса на диске до завершения запроса, что означает, что все запросы, использующие сеанс, будут заблокированы. Внедрите свой собственный обработчик сеанса, но не используйте для этого базу данных.
Вы можете найти это интервью интересный.
Если вам нужна чистая скорость в основных функциях вашего PHP, вы можете создавать свои собственные модули. Вот некоторые места, о которых вы можете прочитать:
Я бы действительно не рекомендовал его, если вам не нужно, но он может дать вам дополнительную производительность, если вам это нужно в некоторых случаях.