<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3943236856097769425</atom:id><lastBuildDate>Mon, 07 Oct 2024 03:44:15 +0000</lastBuildDate><category>highload</category><category>php</category><category>performance</category><category>производительность</category><category>mysql</category><category>высокая производительность</category><category>extensions</category><category>frameworks</category><category>hiphop</category><category>multiprocessing</category><category>phalconphp</category><category>балансировка нагрузки</category><category>горизонтальное маштабирование</category><category>компиляция</category><category>шардинг</category><category>AMQP</category><category>caching</category><category>capistrano</category><category>filesystem</category><category>http</category><category>memory</category><category>mfs</category><category>pcntl</category><category>phalanger</category><category>phc</category><category>wordpress</category><category>автоматизация</category><category>горизонтальное масштабирование</category><category>деплой</category><category>жизненный цикл запроса</category><category>интернет</category><category>использование памяти</category><category>маcштабирование</category><category>массив</category><category>маштабирование</category><category>мультизадачность</category><category>мультипроцессорность</category><category>очереди сообщений</category><category>партиционирование</category><category>расходование памяти</category><category>репликация</category><title>PHP Highload</title><description>Блог о разработке высокопроизводительных PHP приложений</description><link>http://www.phphighload.com/</link><managingEditor>noreply@blogger.com (Just  Snorkeling 🤿)</managingEditor><generator>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-6332236696011540213</guid><pubDate>Wed, 07 Aug 2013 19:04:00 +0000</pubDate><atom:updated>2013-08-07T12:04:56.223-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AMQP</category><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">балансировка нагрузки</category><category domain="http://www.blogger.com/atom/ns#">горизонтальное маштабирование</category><category domain="http://www.blogger.com/atom/ns#">очереди сообщений</category><category domain="http://www.blogger.com/atom/ns#">производительность</category><title>Очереди сообщений, AMQP, RabbitMQ</title><description>&lt;p&gt;Использование очередей сообщений в архитектуре распределенных систем довольно распространенная техника разделения большой системы на компоненты. &lt;/p&gt;
&lt;p&gt;Очереди, простой и в тот же час масштабируемый инструмент, позволяющий &amp;quot;подружить&amp;quot; независимые системы и научить их работать совместно.&lt;/p&gt;
&lt;p&gt;Их задача предоставить возможность различным подсистемам обмениваться сообщениями обеспечивая маршрутизацию, гарантированную доставку и масштабирование.&lt;/p&gt;
&lt;p&gt;Ниже пойдет речь о самых простых очередях сообщений построенных на основе БД, стандарте AMQP и отличной системе управления очередями RabbitMQ.&lt;/p&gt;
&lt;a href=&quot;http://www.phphighload.com/2013/08/amqp-rabbitmq.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2013/08/amqp-rabbitmq.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-5997964097151789872</guid><pubDate>Thu, 30 May 2013 09:35:00 +0000</pubDate><atom:updated>2013-05-30T02:47:54.398-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">hiphop</category><category domain="http://www.blogger.com/atom/ns#">multiprocessing</category><category domain="http://www.blogger.com/atom/ns#">mysql</category><title>Асинхронные MySQL запросы в HipHop PHP</title><description>&lt;p&gt;Большим недостатком стандартной реализации MySQL клиента является отсутствие поддержки асинхронных запросов,  выполняющихся в отдельном потоке не блокируя основной. Такие запросы отлично подходят для операций не нуждающихся в ответе сервера, как например обновление статистики, логирование и т.д. Особенно если операции работают с большими объемами данных и занимают много времени (например добавления строки в таблицу статистики вызывает триггер пересчета общей статистики для всех пользователей).&lt;/p&gt;
&lt;p&gt;Для обхода этого ограничения MySQL клиента, приходиться придумывать разнообразные костыле-методы позволяющие выполнять запросы не блокируя выполнение приложения. &lt;/p&gt;
&lt;p&gt;Мне кажется самый простой и очевидный метод запустить отдельно от приложения скрипт (или сервис) который в бесконечном цикле будет проверять некую очередь запросов и выполнять их в порядке поступления, тогда как приложение будет просто добавлять запросы в эту очередь. &lt;/p&gt;
&lt;p&gt;Ниже речь пойдет о похожем, но более красивом методе, использующем встроенный в HipHop сервер сообщений XBox.&lt;/p&gt;
&lt;a href=&quot;http://www.phphighload.com/2013/05/asynchronous-mysql-queries-with-xbox.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2013/05/asynchronous-mysql-queries-with-xbox.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-734426142343652303</guid><pubDate>Wed, 02 Jan 2013 21:44:00 +0000</pubDate><atom:updated>2013-01-02T13:45:46.813-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">горизонтальное масштабирование</category><category domain="http://www.blogger.com/atom/ns#">шардинг</category><title>Шардинг в MySQL</title><description>&lt;p&gt;Шардинг - хранение разбитых по некоторому принципу данных на нескольких серверах. Например, хранение большой таблицы истории покупок в интернет магазине на 3х серверах, где выбор сервера зависит от первой цифры идентификатора пользователя. &lt;/p&gt;&lt;p&gt;Обычно этот вид масштабирования используется в последнюю очередь, когда количество данных растет и партиционирование (&lt;a target=&quot;blank&quot; href=&quot;http://www.phphighload.com/2012/10/mysql-scaling-strategies.html&quot;&gt;больше тут&lt;/a&gt;) уже не помогает.&lt;/p&gt;
&lt;p&gt;Так как MySQL не поддерживает автоматического шардинга, его приходиться делать вручную. Ниже рассмотрим небольшой практический пример реализации.&lt;/p&gt;
&lt;a href=&quot;http://www.phphighload.com/2013/01/mysql-manual-sharding.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2013/01/mysql-manual-sharding.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-9058380740559075631</guid><pubDate>Sat, 24 Nov 2012 21:28:00 +0000</pubDate><atom:updated>2012-11-24T13:36:20.699-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">capistrano</category><category domain="http://www.blogger.com/atom/ns#">автоматизация</category><category domain="http://www.blogger.com/atom/ns#">деплой</category><title>Автоматизация деплоя на продакшен сервера</title><description>&lt;p&gt;Обновление кода на продакшене (или деплой) одна из рутинных операций которые приходится выполнять время от времени, и в зависимости от сложности архитектуры может превратиться или в просто, или в ужасно нудный процесс.&lt;/p&gt;
&lt;p&gt;На то мы и программисты чтобы автоматизировать рутину, поэтому ниже речь пойдет о автоматизации процесса выгрузки обновлений в продакшен, при помощи подсмотренной в рубистов утилиты Capistrano.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/11/deploy-with-capistrano.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/11/deploy-with-capistrano.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-7359504503463640801</guid><pubDate>Sun, 07 Oct 2012 09:04:00 +0000</pubDate><atom:updated>2012-10-07T02:04:55.545-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">высокая производительность</category><category domain="http://www.blogger.com/atom/ns#">маcштабирование</category><category domain="http://www.blogger.com/atom/ns#">партиционирование</category><category domain="http://www.blogger.com/atom/ns#">репликация</category><category domain="http://www.blogger.com/atom/ns#">шардинг</category><title>Стратегии масштабирования MySQL</title><description>&lt;p&gt;Продолжая тему распределения нагрузки, рассмотрим стратегии масштабирования базы данных, а именно партиционирование, шардинг и репликацию. Как всегда с практическими примерами - придумаем парочку проблем и попробуем их решить.&lt;p&gt;
&lt;p&gt;В предыдущем посте, мы на собственной шкуре почувствовали, что нету ничего сложного в масштабировании веб приложений. Но когда узкое место не исполняемый код, а SQL запросы, в ход идут другие методы и стратегии. В масштабировании базы данных есть свои нюансы из-за сложности поддержки актуальности данных на многих серверах, в связи с чем стратегия зависит от структуры данных, архитектуры и конечно же типа проблемы.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/10/mysql-scaling-strategies.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/10/mysql-scaling-strategies.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIey2OIiu6w8Dqro0fbUEGBCJr9l683NQI4DQzDtjjOj0Sk0dCtyYdtrx2Wos4mmszJMqcUWOIGStllePq94eSgWLJjBev5Rxw_ATrwwUH2M_g9biFMJ3xTvVvaXGZZ18gPoWsJP03PSFM/s72-c/Network1+%25281%2529.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-218812402655600055</guid><pubDate>Fri, 17 Aug 2012 12:18:00 +0000</pubDate><atom:updated>2012-08-17T05:19:38.408-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">балансировка нагрузки</category><category domain="http://www.blogger.com/atom/ns#">горизонтальное маштабирование</category><category domain="http://www.blogger.com/atom/ns#">маштабирование</category><title>Горизонтальное масштабирование - балансировка нагрузки</title><description>&lt;p&gt;При увеличении нагрузки или посещаемости проекта, рано или поздно вертикальное маштабирование (увеличение ресурсов сервера, таких как память, скорость диска и т.д) упирается в некий предел и не дает ощутимого прироста. В таком случае в ход идет горизонтальное масштабирование - добавление новых серверов c перераспределением нагрузки между ними.&lt;/p&gt;
&lt;p&gt;Кроме увеличения мощности, горизонтальное масштабирование добавляет надежности системе - при выходе из строя одного из серверов, нагрузка будет сбалансирована между работающими и приложение будет жить.&lt;/p&gt;
&lt;p&gt;Ниже рассмотрим одну из простых схем горизонтального маштабирования, состоящую из двух серверов приложений, одного сервера БД и балансировщика нагрузки. Такая схема оптимальна для приложений с большой нагрузкой на PHP и неинтенсивном использовании базы данных.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/08/blog-post.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/08/blog-post.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqN9vclQWTqYzaZfOUhZH-hkU2lrhGlHlS2syAgxGkbYER26gq2KtlUa_GKZBQSHlu80gSN2Ikdg-q0gDPv7nP6AN6I4RkOIu0emIgXzLedLOk5LGggm4GJnzEJZ_j_tp3LnbJqFutKYP_/s72-c/load_balancer1.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-5373005277827494270</guid><pubDate>Tue, 24 Jul 2012 07:20:00 +0000</pubDate><atom:updated>2013-04-07T03:56:58.448-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">multiprocessing</category><category domain="http://www.blogger.com/atom/ns#">pcntl</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">высокая производительность</category><category domain="http://www.blogger.com/atom/ns#">мультизадачность</category><category domain="http://www.blogger.com/atom/ns#">мультипроцессорность</category><category domain="http://www.blogger.com/atom/ns#">производительность</category><title>PCNTL - параллельные вычисления</title><description>&lt;p&gt;Поддержка параллельных вычислений важная часть любого высокоуровневого языка программирования. Возможность выполнять операции в разных процессах с разделением ресурсов не только увеличивает производительность приложения, но и упрощает вертикальное маштабирование. Ниже речь пойдет об упомянутом раньше расширении PCNTL, содержащем интересный набор функций для реализации многопоточности.&lt;/p&gt;
&lt;a href=&quot;http://www.phphighload.com/2012/07/pcntl.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/07/pcntl.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-7175365259201494758</guid><pubDate>Wed, 11 Jul 2012 21:46:00 +0000</pubDate><atom:updated>2013-04-07T03:43:07.835-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">высокая производительность</category><title>Многопоточность в PHP</title><description>&lt;p&gt;Иногда появляется необходимость выполнять несколько действий одновременно, например, проверять изменения в одной таблице БД и вносить модификации в другую. Причем если одна из операций (например, проверка изменений), занимает много времени, очевидно, что последовательное выполнение не обеспечит балансировки ресурсов.&lt;/p&gt;
&lt;p&gt;Для решения такого рода задач, в программировании используется многопоточность - каждая операция помещается в отдельный поток с выделенным объемом ресурсов и работает внутри него. При таком подходе, все задачи будут выполнятся отдельно и независимо.&lt;/p&gt;
&lt;p&gt;Хотя PHP и не поддерживает многопоточность, есть несколько методов её эмуляции, о них и пойдет речь ниже.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/07/php.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/07/php.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqzWtxZvKu1Tu7DjcTK_os4IY4FwI70FrTCjZQMnHoPr3r6htBZTjsdEGvUP04u3p91FrzYjP6AIJhkXgyc0NTG4g6i0D3f17tIA9I6U2i_wwm2ep0aqOigiO5ggbPXZyxzoDkK8IePxq2/s72-c/pcntl.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-7710484775618496352</guid><pubDate>Mon, 02 Jul 2012 21:13:00 +0000</pubDate><atom:updated>2012-07-02T14:13:53.341-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">высокая производительность</category><category domain="http://www.blogger.com/atom/ns#">использование памяти</category><category domain="http://www.blogger.com/atom/ns#">массив</category><category domain="http://www.blogger.com/atom/ns#">производительность</category><category domain="http://www.blogger.com/atom/ns#">расходование памяти</category><title>Прожорливые массивы</title><description>&lt;p&gt;Отсутсвие жесткой типизации в PHP, на первый взгляд упрощает разработку - не нужно задавать типы переменных, заботиться о конвертации - все делает интепритатор. Конечно же за простоту и удобство прийдется платить и чем важнее производительность тем больше. Ниже речь пойдет о любимых массивах, быстрых и простых на первый взгляд, но прожорливых к памяти при больших объемах.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/07/blog-post.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/07/blog-post.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-4414478292809373230</guid><pubDate>Mon, 25 Jun 2012 20:16:00 +0000</pubDate><atom:updated>2012-06-25T13:22:15.609-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">phalanger</category><category domain="http://www.blogger.com/atom/ns#">phc</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">компиляция</category><category domain="http://www.blogger.com/atom/ns#">производительность</category><title>Компиляция PHP приложений - Phc и Phalanger</title><description>&lt;p&gt;В завершение темы &lt;a target=&quot;blank&quot; href=&quot;http://www.phphighload.com/2012/06/php.html&quot;&gt;компилирования PHP приложений&lt;/a&gt; с целью увеличения производительности, рассмотрим еще два компилятора: Phc и Phalanger.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/06/php-phc-phalanger.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/06/php-phc-phalanger.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-4507887855360800494</guid><pubDate>Wed, 20 Jun 2012 21:14:00 +0000</pubDate><atom:updated>2013-07-02T10:22:18.245-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">hiphop</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">wordpress</category><category domain="http://www.blogger.com/atom/ns#">компиляция</category><category domain="http://www.blogger.com/atom/ns#">производительность</category><title>Компиляция PHP приложений - HipHop-php</title><description>&lt;p&gt;PHP - интерпретируемый язык программирования, при каждом запросе происходит анализ и &amp;quot;выполнение&amp;quot; исходного кода. Такой подход, конечно, очень удобен на стадии разработки проекта, но вносит лишний шаг в процесс выполнения продакшен кода. Таким образом интерпретация, на первый взгляд сильная сторона PHP, стоит лишнего процесорного времени и ресурсов.&lt;/p&gt;
&lt;p&gt;Ниже речь пойдет о компиляторах, позволяющих компилировать php код в C++, а его в исполняемый. Таким образом PHP приложения выполняются непосредсвенно процессором, минуя интерпретатор.&lt;/p&gt;
&lt;p&gt;Проверим все ли так хорошо на практике.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/06/php.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/06/php.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-6518069068917322973</guid><pubDate>Wed, 13 Jun 2012 20:55:00 +0000</pubDate><atom:updated>2013-07-29T16:01:23.073-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">caching</category><category domain="http://www.blogger.com/atom/ns#">filesystem</category><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">memory</category><category domain="http://www.blogger.com/atom/ns#">mfs</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Кеширование файлов в память</title><description>&lt;p&gt;Работа с файловой системой всегда была и остается слабым местом высокопроизводительных систем. В связи с тем, что большинство веб-фреймворков и CMS используют большое количество файлов, подключаемых при каждой обработке запроса, идея кешировать файлы в память и экономить на операциях ввода/вывода выглядит очень заманчиво.&lt;/p&gt;
&lt;p&gt;Основным требованием к системе кеширования файлов является изолированость, а также интеграция без изменения архитектуры и кода приложения, чтобы иметь возможность использовать ее в популярных CMS, таких как Wordpress, Drupal и др. &lt;/p&gt;
&lt;p&gt;Рассмотрим метод кеширования файлов при помощи MFS и проверим есть ли прирост производительнсти на примере Drupal блога.&lt;/p&gt;&lt;a href=&quot;http://www.phphighload.com/2012/06/blog-post_13.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/06/blog-post_13.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-6438612987896866662</guid><pubDate>Fri, 08 Jun 2012 10:16:00 +0000</pubDate><atom:updated>2012-06-08T03:16:43.532-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">extensions</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">phalconphp</category><title>Шустрые фреймворки-расширения (продолжение)</title><description>В &lt;a href=&quot;http://php-highload.blogspot.com/2012/06/blog-post.html&quot;&gt;предыдущей статье&lt;/a&gt;, мы создали базовое приложение-блог на PhalconPHP, способное работать с базой данных и выводить записи в виде списка. Ниже закончим разработку функционала приложения и проведем испытания производительности, для проверки скорости работы блога.&lt;br&gt;
&lt;a href=&quot;http://www.phphighload.com/2012/06/blog-post_08.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/06/blog-post_08.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-7414188700975758893</guid><pubDate>Tue, 05 Jun 2012 21:24:00 +0000</pubDate><atom:updated>2012-06-08T03:19:40.780-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">extensions</category><category domain="http://www.blogger.com/atom/ns#">frameworks</category><category domain="http://www.blogger.com/atom/ns#">highload</category><category domain="http://www.blogger.com/atom/ns#">phalconphp</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Шустрые фреймворки-расширения</title><description>PHP язык расширяемый, причем расширять можно не только путем создания кастомных классов и библиотек, но и дописывая расширения (extensions) на языке C, которые подключаются непосредственно к интерпретатору. Естественно, такие расширения работают намного быстрее PHP кода, так как не нуждаются в интерпретации, а сразу выполняются.&lt;br&gt;
&lt;div&gt;Существует несколько фреймворков, реализованных в виде расширений, об одном из которых пойдет речь дальше.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;a href=&quot;http://www.phphighload.com/2012/06/blog-post.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/06/blog-post.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji5pYf76nY3LrKj39ay5IoXPtVezqa56EMkvli-JZCySxcvVaUb_ahSmaLJjPy6oTjFQMFYZZae77gXIDZiZP_ptAJ5r_7tferEuBCfcBjnz3YUYlbgftI-qYuSMFT1OJ9wlO_FxKivzLR/s72-c/Screenshot-Super+blog+-+Google+Chrome.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-9006079674988116569</guid><pubDate>Mon, 21 May 2012 17:40:00 +0000</pubDate><atom:updated>2012-05-21T14:26:14.597-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Быстрый код</title><description>Этот пост можно также назвать &amp;quot;Техники написания кода&amp;quot;, так как приведенные ниже советы хорошо использовать не только в проектах которые разрабатываются для работы в условиях сильной нагрузки, но и для любых PHP приложений.&lt;br&gt;
В основном слабым местом являются запросы к внешним источникам данных, поэтому большинство приемов заключаются уменьшении их количества кешированием данных.&lt;br&gt;
&lt;a href=&quot;http://www.phphighload.com/2012/05/blog-post_21.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/05/blog-post_21.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-381545251756576167</guid><pubDate>Thu, 17 May 2012 13:42:00 +0000</pubDate><atom:updated>2013-01-11T02:19:18.963-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">http</category><category domain="http://www.blogger.com/atom/ns#">жизненный цикл запроса</category><category domain="http://www.blogger.com/atom/ns#">интернет</category><title>Жизненный цикл HTTP запроса</title><description>Для того, чтобы понять что оптимизировать, нужно для начала разобраться как работает Интернет и какие этапы проходит запрос для получения результата.&lt;br&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://www.phphighload.com/2012/05/http.html#more&quot;&gt;Дальше »&lt;/a&gt;</description><link>http://www.phphighload.com/2012/05/http.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3943236856097769425.post-5042121796685534084</guid><pubDate>Mon, 14 May 2012 17:43:00 +0000</pubDate><atom:updated>2012-06-24T13:58:50.197-07:00</atom:updated><title>О чём планирую писать</title><description>​Мастерство написания приложений умеющих работать при больших нагрузках, наверняка можно считать апофеозом развития PHP разработчика. И несмотря на незамысловатую архитектуру, PHP дает простор для развития.&lt;br /&gt;
&lt;br /&gt;
Кроме того, мне не нравится, что PHP программисты ассоциируются с &quot;говнокодерами&quot;, из-за неудовлетворительной усредненной оценки специалистов, обусловленной низким порогом вхождения в специальность.&lt;br /&gt;
&lt;br /&gt;
Поэтому в этом блоге буду писать о разработке высоконагруженных проектов на PHP и качественном коде.&lt;br /&gt;
&lt;br /&gt;
Надеюсь будет полезно и мне, и читателям.&lt;br /&gt;
&lt;br /&gt;
На последок:
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://tdistler.com/2008/07/18/motivational-poster-programming&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;blank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;386&quot; src=&quot;http://tdistler.com/media/images/MotivationalProgramming_2.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://www.phphighload.com/2012/05/blog-post.html</link><author>noreply@blogger.com (Just  Snorkeling 🤿)</author></item></channel></rss>