<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр / Комментарии к посту «Игры в OLTP» в блоге «Nginx»</title>
	<link>http://habrahabr.ru/rss/post/69974/</link>
	<description><![CDATA[Новые комментарии к посту «Игры в OLTP» в блоге «Nginx»]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Fri, 10 Feb 2012 20:05:59 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	

	
	
	
	
	
		
	
		<item>
			<title>12.02.2010 18:21:40 flyaway</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2505880</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2505880</link>
			<description><![CDATA[Очень интересно.<br/>
И как идут дела с модулем nginx для работы с oracle?]]></description>
			<pubDate>Fri, 12 Feb 2010 18:21:40 GMT</pubDate>
			<author>flyaway</author>
		</item>
	

	
		<item>
			<title>02.10.2009 11:25:33 akalend</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2040336</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2040336</link>
			<description><![CDATA[&gt;А идея про Connection pool звучит очень заманчиво!<br/>
я давно думаю над пуулом (MySQL + PHP ), но я не спец по Ораклу и ничего сказать не могу.<br/>
<br/>
из моих исследований по MySQL, хотел сделать демон, который бы раздавал коннекции РНР-вокерам через shmem<br/>
но наткнутся на sigfault, для ликвидации которого надо было переписать более 33% кода mysqlclientlib Сизыфов труд.<br/>
<br/>
как вариант — сделать демона, который запускал бы n MySQLClient вокеров, которые постоянно держали бы коннекцию с мускулем, но в этом случае при обмене из PHP, мы клали бы в shmem запрос, оповещали демона и ждали бы оповещения выполнения запроса, после этого брали данные из shm, формировали массив и возвращали в РНР код. т.е. по сути написал бы свою новую либу, а хотелось совместимости.<br/>
<br/>
В общем, история про пул — это на какие грабли мне пришлось наступать и куда копать дальше.<br/>
<br/>
Вам тоже спасибо, давно искал сравнительные характеристики nginx & lighttpd (про lighttpd2.0 узнал из комментов этого блога) <br/>
<br/>
посмотри в сторону использования шаред мемори и libevent<br/>
это должно быть быстрее чем fastcgi<br/>
(будет время, сам покапаю в эту сторону)<br/>
мне тоже нужно будет запускать не легкие процессы…]]></description>
			<pubDate>Fri, 02 Oct 2009 11:25:33 GMT</pubDate>
			<author>akalend</author>
		</item>
	

	
		<item>
			<title>01.10.2009 18:21:34 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2037997</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2037997</link>
			<description><![CDATA[Большое Вам спасибо за развернутый комментарий!<br/>
<br/>
С удовольствием над этим подумаем. =)<br/>
С момента написания статьи многие вещи в построении Transport level OLTP уже пересмотрели.<br/>
<br/>
Все вышеизложенное в статье с самого начала <strong>не претендовало на production</strong> решение, так и, выясняя по ходу дела больше подробностей про внутрености такого подхода (тем более модуля), понятно насколько все далеко от идеала!<br/>
<br/>
Будем изучать дальше.<br/>
<br/>
Так же любопытно попробовать обезопаситься от «отваливания» Oracle через ихнюю же технологию TAF (Transparent Application Failover), чтобы при «смерти» одного узла (почти) мгновенно он переназначил Virtual IP другому и тот ответил, что все плохо. TCP timeout будет незначительным. Только для таких экспериментов наверное нужно будет поднять среду Oracle RAC. =)<br/>
<br/>
А идея про Connection pool звучит очень заманчиво!<br/>
]]></description>
			<pubDate>Thu, 01 Oct 2009 18:21:34 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>01.10.2009 13:15:46 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2036835</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2036835</link>
			<description><![CDATA[А глупо делать регулировангие timeout. Вы просто будете часто получать состояние что воркеры ждут, пока OCI ответит. А клиенты будут сидеть в backlog и видеть waiting site.com в своих браузерах.]]></description>
			<pubDate>Thu, 01 Oct 2009 13:15:46 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>01.10.2009 13:03:05 akalend</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2036795</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2036795</link>
			<description><![CDATA[собственно почти тоже самое я написал ниже немного иными словами.<br/>
имел небольшой опыт использования логики модулей, отказался из-за указанных catap причинами.<br/>
<br/>
проблема в регулировании таймаутов, надо делать коннект на неблокируемых сокетах<br/>
<br/>
Кирилл спасибо за развернутый ответ. ]]></description>
			<pubDate>Thu, 01 Oct 2009 13:03:05 GMT</pubDate>
			<author>akalend</author>
		</item>
	

	
		<item>
			<title>01.10.2009 12:57:32 akalend</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2036773</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2036773</link>
			<description><![CDATA[не надо эйфории<br/>
<br/>
решение на базе модуля ни есть наилучший вариант по надежности<br/>
концепция nginx такова, что модули должны содержать как можно менеьше внешних библиотечных зависимостей (в данном случае OCI, одно из тяжелых решений). <br/>
<br/>
во первых — тяжелеет сам nginx<br/>
во вторых — что будет если соединение с Oracle отвалится? <br/>
грохнется весь сервер, по умолчанию в ОС время коннекта 60 сек… <br/>
При нагрузках — это будет пилипец всему и сразу…<br/>
<br/>
в третьих, тесты тестами, а в реале: логика платежей тяжелее, разве мы строи систему для одного вида входящего запроса? <br/>
<br/>
Как делать постоянный коннект и следить за ним, чтоб не отвалился, я пока не знаю. <br/>
Мутить пуул коннекций, сложновато.<br/>
Мутить обмен через shm & libevent? а отдельным клиентом общаться с БД и отдавать данные через shm… <br/>
<br/>
тут есть много над чем подумать.<br/>
]]></description>
			<pubDate>Thu, 01 Oct 2009 12:57:32 GMT</pubDate>
			<author>akalend</author>
		</item>
	

	
		<item>
			<title>21.09.2009 19:39:43 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2004866</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2004866</link>
			<description><![CDATA[Увы, но вы не дали ответы. И даже не обозначили вопросы (не сказали про самую важную проблему). Вы просто сделали не верные выводы не до конца поняв их причину. Увы.]]></description>
			<pubDate>Mon, 21 Sep 2009 19:39:43 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>21.09.2009 18:13:59 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2004720</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2004720</link>
			<description><![CDATA[<blockquote>Расковырять OCI не получится, Oracle не раскрывает исходники. Если альтернативных вариантов не будет, то «допилить» попробуем nginx, благо код очень осмысленный и отлично читается. За наводку на epoll_wait спасибо!</blockquote><br/>
<br/>
С этим понятно, но мне не понятно как вы хотите и что пилить? Внести точку синхронизации из nginx в OCI? Возможно, но OCI закрыт.<br/>
<br/>
Помойму вы не понимаете что вы хотите сделать, честно.]]></description>
			<pubDate>Mon, 21 Sep 2009 18:13:59 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>21.09.2009 16:17:50 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2004519</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2004519</link>
			<description><![CDATA[Подобных «а если...» очень много, но ведь с чего-то нужно начинать. Статья затевалась ради того, чтобы услышать конструктивную критику. В открытом доступе, т.к. промежуточные результаты вполне могут оказаться полезными тем, кто не близко знаком с nginx, lighttpd. Уже немало поднималось вопросов, что бы выбрать и как реализовать (модуль, fastcgi) highload?<br/>
<br/>
Спасибо за Ваш профессиональный и конструктивный подход.]]></description>
			<pubDate>Mon, 21 Sep 2009 16:17:50 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>21.09.2009 16:16:25 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2004515</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2004515</link>
			<description><![CDATA[<blockquote>вам придется расковыривать OCI и переносить из нее точку синхроноизации в epoll_wait в nginx. Да, я верю что это возможно, но есть подозрение что придется этот OCI переделать.</blockquote>Расковырять OCI не получится, Oracle не раскрывает исходники. Если альтернативных вариантов не будет, то «допилить» попробуем nginx, благо код очень осмысленный и отлично читается. За наводку на epoll_wait спасибо!<br/>
<br/>
<blockquote>И плохо что вы не написали что это только прототип. И в жизни это использовать нельзя.</blockquote>Эта мысль подается и в заголовке, и в тексте. Все вышенаписаное — лишь эксперимент.<br/>
Претендовать на best practices по nginx даже и в мыслях не было.]]></description>
			<pubDate>Mon, 21 Sep 2009 16:16:25 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>21.09.2009 12:08:36 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2003742</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2003742</link>
			<description><![CDATA[Обычно люди берут данные и считают дисперсию случайной величины, и на основание этого дают проценты. А так, это голые «вумные» слова, которые только повышают энтропию. Увы.]]></description>
			<pubDate>Mon, 21 Sep 2009 12:08:36 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>21.09.2009 12:04:35 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2003724</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2003724</link>
			<description><![CDATA[Далее, а сколько у вас было worker процессов у fastcgi сервера? А если их сделать штук 100? А если написать на тредах?<br/>
<br/>
Сейчас вы имеете, фактически, демонстрацию понятной проблемы — в асинхронном сервере (nginx/fastcgi) кто-то заблокировался. То, что overhead на блокировку если внести ее в nginx меньше, понятно. Только в чем тут фикус, новшество и зачем вообще, кроме письку показать, стоило писать сей текст?<br/>
<br/>
Делать так в контексте высокой нагрузки нельзя. А зачем так извращаться в других случая — я не понимаю.]]></description>
			<pubDate>Mon, 21 Sep 2009 12:04:35 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>21.09.2009 12:00:57 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2003714</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2003714</link>
			<description><![CDATA[Собственно в чем вопрос:<br/>
<br/>
вам придется расковыривать OCI и переносить из нее точку синхроноизации в epoll_wait в nginx. Да, я верю что это возможно, но есть подозрение что придется этот OCI переделать.<br/>
<br/>
И плохо что вы не написали что это <b>только</b> прототип. И в жизни это использовать <b>нельзя</b>.]]></description>
			<pubDate>Mon, 21 Sep 2009 12:00:57 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>21.09.2009 10:39:17 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2003458</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2003458</link>
			<description><![CDATA[Непосредственно в данных примерах модуль тоже блокируется синхронными вызовами к БД. <br/>
<br/>
Асинхронные вызовы на OCI мы планируем использовать в дальнейших опытах.]]></description>
			<pubDate>Mon, 21 Sep 2009 10:39:17 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>21.09.2009 09:44:48 catap</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2003291</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2003291</link>
			<description><![CDATA[А у вас ваш модуль не блокируется? А каким таким волшебным образом?]]></description>
			<pubDate>Mon, 21 Sep 2009 09:44:48 GMT</pubDate>
			<author>catap</author>
		</item>
	

	
		<item>
			<title>19.09.2009 09:36:01 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_2000027</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_2000027</link>
			<description><![CDATA[Большое Вам спасибо за советы!<br/>
Признаюсь действительно был не прав в некоторых местах:<br/>
<br/>
1. Тут действительно лучше подошло бы <a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:886390451136">лучше</a> вроде:<br/>
<br/>
<blockquote><code><font color="black"><ol>
<li> <font color="#0000ff">select</font> <font color="#0000ff">count</font>(*) <font color="#0000ff">into</font> l_cnt</li>
<li>    <font color="#0000ff">from</font> dual</li>
<li>  <font color="#0000ff">where</font> <font color="#0000ff">exists</font> ( <font color="#0000ff">select</font> <font color="#0000ff">NULL</font></li>
<li>                    <font color="#0000ff">from</font> emp</li>
<li>                  <font color="#0000ff">where</font> sal &gt; 4000 );</li>
</ol></font><font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font></code></blockquote>или<br/>
<blockquote><code><font color="black"><ol>
<li><font color="#0000ff">begin</font></li>
<li> <font color="#0000ff">select</font> id </li>
<li>  <font color="#0000ff">from</font> emp </li>
<li>  <font color="#0000ff">where</font> sal&gt;4000 <font color="#0000ff">and</font> rownum &lt;= 1 </li>
<li><font color="#0000ff">exception</font></li>
<li>  <font color="#0000ff">when</font> no_data_found <font color="#0000ff">then</font> </li>
<li>     raise_application_error(-20010, <font color="#A31515">'Not found'</font>);</li>
<li><font color="#0000ff">end</font>;</li>
</ol></font><font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font></code></blockquote>Tom Kyte так же <a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3069487275935">советует</a> вариант через for.<br/>
<br/>
2. Неявные курсоры конечно лучше, но я ими воспользовался, чтобы одновременно залочить строчки <a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:927629362932">FOR UPDATE</a>, посмотреть есть ли в них данные (чтобы сообщить об этом клиенту) и по ним же обновиться. Так <a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:927629362932">делают</a> (ниже в комментах). Конструкция:<br/>
<blockquote><code><font color="black"><ol>
<li><font color="#0000ff">select</font> id</li>
<li> <font color="#0000ff">into</font> l_var</li>
<li> <font color="#0000ff">from</font> anytable </li>
<li><font color="#0000ff">where</font> id = 123</li>
<li>  <font color="#0000ff">for</font> <font color="#0000ff">update</font>;</li>
</ol></font><font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font></code></blockquote>не скомпилируется.<br/>
<br/>
3. Пачками не коммитили, чтобы БД нагрузить и фиксировать все выполненые транзакции (вдруг БД упадет)<br/>
<br/>
4. Excetion действительно лучше. My fault. Какая-то привычка из С++ сыграла, там иногда пытаются избегать exception т.к. они занижают производительность и их применять стараются только в случае явных ошибок программ.]]></description>
			<pubDate>Sat, 19 Sep 2009 09:36:01 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>18.09.2009 21:29:00 WebByte</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999463</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999463</link>
			<description><![CDATA[Мой вам совет:<br/>
1. Уберите каунт — лучше обойтись экзистом или вообще вывалиться по no_data_found<br/>
2. Откажитесь от явного объявления курсоров.<br/>
3. Коммиты скидывайте пачками<br/>
4. Вместо установки флагов, лучше пользовать exception]]></description>
			<pubDate>Fri, 18 Sep 2009 21:29:00 GMT</pubDate>
			<author>WebByte</author>
		</item>
	

	
		<item>
			<title>18.09.2009 18:39:43 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999139</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999139</link>
			<description><![CDATA[Для примера в UPD привели по-настоящему страшный код на OCI. Тут мы и сами боимся… =)<br/>
В окончательном варианте, конечно, спрячем во wrapper. ]]></description>
			<pubDate>Fri, 18 Sep 2009 18:39:43 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>18.09.2009 18:37:43 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999135</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999135</link>
			<description><![CDATA[updated]]></description>
			<pubDate>Fri, 18 Sep 2009 18:37:43 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>18.09.2009 18:37:10 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999133</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999133</link>
			<description><![CDATA[Масштабируемость осложняется за счет совместной компиляции модулей с nginx'ом. А обновления сервера происходят достаточно часто =)<br/>
Попробуем засунуть Business layer в динамическую библиотеку. При усложнении транзакций, как написано в конце статьи, будем использовать неблокирующие запросы к БД, чтобы не тормозить цикл мультиплексора.]]></description>
			<pubDate>Fri, 18 Sep 2009 18:37:10 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>18.09.2009 18:33:34 vikds</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999128</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999128</link>
			<description><![CDATA[Спасибо за ценный совет! <br/>
Обязательно поэксперементируем… руки чешутся. =)]]></description>
			<pubDate>Fri, 18 Sep 2009 18:33:34 GMT</pubDate>
			<author>vikds</author>
		</item>
	

	
		<item>
			<title>18.09.2009 17:58:33 WebByte</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1999053</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1999053</link>
			<description><![CDATA[Чё ж у вас такой ораклячий код страшный?]]></description>
			<pubDate>Fri, 18 Sep 2009 17:58:33 GMT</pubDate>
			<author>WebByte</author>
		</item>
	

	
		<item>
			<title>18.09.2009 12:34:21 alrond</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1998111</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1998111</link>
			<description><![CDATA[В статье непонятно что за «nginx module»]]></description>
			<pubDate>Fri, 18 Sep 2009 12:34:21 GMT</pubDate>
			<author>alrond</author>
		</item>
	

	
		<item>
			<title>18.09.2009 11:57:44 superhabra</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1997937</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1997937</link>
			<description><![CDATA[Кода модуля нету?<br/>
А как на счёт масштабируемости решения на основе модуля веб-сервера?]]></description>
			<pubDate>Fri, 18 Sep 2009 11:57:44 GMT</pubDate>
			<author>superhabra</author>
		</item>
	

	
		<item>
			<title>18.09.2009 11:16:14 EXSlim</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1997781</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1997781</link>
			<description><![CDATA[Попробуйте погонять <a href="http://redmine.lighttpd.net/wiki/lighttpd-sandbox">lighttpd2.0~sandbox.</a>. Ребята говорят что он еще быстрее, а стабильную версию следует ожидать примерно в конце года.]]></description>
			<pubDate>Fri, 18 Sep 2009 11:16:14 GMT</pubDate>
			<author>EXSlim</author>
		</item>
	

	
		<item>
			<title>18.09.2009 09:23:22 spanasik</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1997462</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1997462</link>
			<description><![CDATA[Причём тут фанатизм? Достаточно посмотреть результаты тестов. Скорее, фанатизм — это утверждать в такой ситуации, что всё примерно одинаково хорошо работает, а на самом деле это не так. Фанатизм толерантности ничего общего с инженерией не имеет, так что не в тему. ]]></description>
			<pubDate>Fri, 18 Sep 2009 09:23:22 GMT</pubDate>
			<author>spanasik</author>
		</item>
	

	
		<item>
			<title>18.09.2009 09:20:45 lolipop</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1997447</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1997447</link>
			<description><![CDATA[скажем нет фанатизму? :)]]></description>
			<pubDate>Fri, 18 Sep 2009 09:20:45 GMT</pubDate>
			<author>lolipop</author>
		</item>
	

	
		<item>
			<title>18.09.2009 07:12:08 spanasik</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1997076</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1997076</link>
			<description><![CDATA[Спасибо! <br/>
Ещё одна статья, в которую можно тыкать носом тех, кто говорит что lighttpd лучше нашего nginx :-)]]></description>
			<pubDate>Fri, 18 Sep 2009 07:12:08 GMT</pubDate>
			<author>spanasik</author>
		</item>
	

	
		<item>
			<title>18.09.2009 05:51:48 nblxa</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1996897</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1996897</link>
			<description><![CDATA[Интересно, насколько и в какую сторону изменится производительность, если заменить две крайние таблички (PAY_OPERATOR и PAY_ACCOUNT) материализованными представлениями FAST ON COMMIT, обновляемыми из таблицы PAY_TRANSACTION.<br/>
<br/>
И вообще, с интересом жду продолжения игры в OLTP, как про код приложения, так и про сервер и БД.]]></description>
			<pubDate>Fri, 18 Sep 2009 05:51:48 GMT</pubDate>
			<author>nblxa</author>
		</item>
	

	
		<item>
			<title>18.09.2009 02:25:17 SaveTheRbtz</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1996687</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1996687</link>
			<description><![CDATA[Отичное сравнение! <br/>
Одна заметка — в аналитике обычно принято учитывать не «Самый длительный запрос», а скорее «95% запросов выполнено в пределах ххх сек.»]]></description>
			<pubDate>Fri, 18 Sep 2009 02:25:17 GMT</pubDate>
			<author>SaveTheRbtz</author>
		</item>
	

	
		<item>
			<title>17.09.2009 19:00:35 ilder</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/nginx/69974/#comment_1996176</guid>
			<link>http://habrahabr.ru/blogs/nginx/69974/#comment_1996176</link>
			<description><![CDATA[«Рис 1. Структура БД» битая ссылка. Поправьте если можно. Спасибо.]]></description>
			<pubDate>Thu, 17 Sep 2009 19:00:35 GMT</pubDate>
			<author>ilder</author>
		</item>
	

	
</channel>
</rss>

