<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Siava.Su &#187; Linux</title>
	<atom:link href="http://siava.su/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://siava.su</link>
	<description>черновик сисадмина</description>
	<lastBuildDate>Wed, 16 Jun 2010 11:47:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Перекодировка имён файлов и директорий на файловом сервере</title>
		<link>http://siava.su/2009/11/06/encoding-change-for-files/</link>
		<comments>http://siava.su/2009/11/06/encoding-change-for-files/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:02:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://siava.su/?p=89</guid>
		<description><![CDATA[Задача следующая. Имеется файловый сервер, в котором все файлы и директории имеют имена в кодировке cp-1251. Требуется быстро и без лишних заморочек конвертировать их в другую кодировку, например в utf-8. Операционна система Linux.
Как оказалось, всё элементарно и просто :)
Для этого нам понадобится утилита convmv. Скачать её можно отсюда. На момент написания статейки, последняя её версия [...]]]></description>
			<content:encoded><![CDATA[<p>Задача следующая. Имеется файловый сервер, в котором все файлы и директории имеют имена в кодировке cp-1251. Требуется быстро и без лишних заморочек конвертировать их в другую кодировку, например в utf-8. Операционна система Linux.</p>
<p>Как оказалось, всё элементарно и просто :)</p>
<p><span id="more-89"></span>Для этого нам понадобится утилита <strong>convmv</strong>. Скачать её можно <a rel="nofollow" target="_blank" href="http://siava.su/579726/aHR0cDovL2ozZS5kZS9saW51eC9jb252bXYv/" >отсюда</a>. На момент написания статейки, последняя её версия была 1.14. В архиве прилагается уже скомпилированный вариант, который можно сохранить в директорию /usr/local/bin, либо запускать с любого места.</p>
<p>Параметры командной строки convmv:</p>
<pre class="c"><span style="color: #339933;"># ./convmv --help</span>
Your Perl version has fleas <span style="color: #339933;">#22111 #37757 #49830</span>
convmv <span style="color: #cc66cc;">1.14</span> - converts filenames from one encoding to another
Copyright <span style="color: #66cc66;">&#40;</span>C<span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">2003</span><span style="color: #cc66cc;">-2008</span> Bjoern JACKE &amp;lt;bjoern@j3e.<span style="color: #202020;">de</span>&amp;gt;
&nbsp;
This program comes with ABSOLUTELY NO WARRANTY; it may be copied or modified
under the terms of the GNU General Public License version <span style="color: #cc66cc;">2</span> or <span style="color: #cc66cc;">3</span> as published
by the Free Software Foundation.
&nbsp;
<span style="color: #202020;">USAGE</span>: convmv <span style="color: #66cc66;">&#91;</span>options<span style="color: #66cc66;">&#93;</span> FILE<span style="color: #66cc66;">&#40;</span>S<span style="color: #66cc66;">&#41;</span>
-f enc     encoding *from* which should be converted
-t enc     encoding *to* which should be converted
-r         recursively go through directories
-i         interactive mode <span style="color: #66cc66;">&#40;</span>ask <span style="color: #b1b100;">for</span> each action<span style="color: #66cc66;">&#41;</span>
--nfc      target files will be normalization form C <span style="color: #b1b100;">for</span> UTF<span style="color: #cc66cc;">-8</span> <span style="color: #66cc66;">&#40;</span>Linux etc.<span style="color: #66cc66;">&#41;</span>
--nfd      target files will be normalization form D <span style="color: #b1b100;">for</span> UTF<span style="color: #cc66cc;">-8</span> <span style="color: #66cc66;">&#40;</span>OS X etc.<span style="color: #66cc66;">&#41;</span>
--qfrom    be quiet about the <span style="color: #ff0000;">&quot;from&quot;</span> of a rename <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">if</span> it screws up your terminal e.<span style="color: #202020;">g</span>.<span style="color: #66cc66;">&#41;</span>
--qto      be quiet about the <span style="color: #ff0000;">&quot;to&quot;</span> of a rename <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">if</span> it screws up your terminal e.<span style="color: #202020;">g</span>.<span style="color: #66cc66;">&#41;</span>
--exec c   execute command instead of rename <span style="color: #66cc66;">&#40;</span>use <span style="color: #339933;">#1 and #2 and see man page)</span>
--list     list all available encodings
--lowmem   keep memory footprint low <span style="color: #66cc66;">&#40;</span>see man page<span style="color: #66cc66;">&#41;</span>
--nosmart  ignore <span style="color: #b1b100;">if</span> files already seem to be UTF<span style="color: #cc66cc;">-8</span> and convert <span style="color: #b1b100;">if</span> posible
--notest   actually <span style="color: #b1b100;">do</span> rename the files
--replace  will replace files <span style="color: #b1b100;">if</span> they are equal
--unescape convert%20ugly%20escape%20sequences
--upper    turn to upper <span style="color: #b1b100;">case</span>
--lower    turn to lower <span style="color: #b1b100;">case</span>
--parsable write a parsable todo list <span style="color: #66cc66;">&#40;</span>see man page<span style="color: #66cc66;">&#41;</span>
--help     print this help</pre>
<p>Предположим, что содержимое файлового сервера расположено в каталоге /home/ftp , тогда для конвертации имён файлов и директорий из кодировки cp-1251 в utf-8:</p>
<pre class="c"><span style="color: #339933;"># ./convmv -r --notest -f cp-1251 -t utf-8 /home/ftp/*</span></pre>
<p>Чтобы проверить работу конвертера, но без вноса изменений в файловую систему, выполняйте команду без параметра --notest</p>
<p>Надеюсь, что вам также пригодится, как пригодилось мне :)</p>
]]></content:encoded>
			<wfw:commentRss>http://siava.su/2009/11/06/encoding-change-for-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Синхронизация файлов на удалённый ftp-сервер</title>
		<link>http://siava.su/2009/04/15/ftp-mirror/</link>
		<comments>http://siava.su/2009/04/15/ftp-mirror/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 11:16:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[lftp]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[зеркало]]></category>
		<category><![CDATA[синхронизация]]></category>

		<guid isPermaLink="false">http://siava.su/?p=63</guid>
		<description><![CDATA[Попалась как-то задачка создать shell-скрипт для автономной синхронизации файлов с локальной Linux-системы на удалённый ftp-сервер.

Первый способ, используя ftp
#!/bin/sh
ftp -n -v -p -i &#34;ftp.remote.domain&#34; &#60;&#60; cmd
user &#34;login&#34; &#34;password&#34;
cd /remotedir
lcd /localdir
mput *
quit
Минусы его заключаются в том, что все файлы из локальной директории закачиваются на удалённый ftp-сервер при каждом вызове скрипта. Именно все, а не те, что изменились.
Второй [...]]]></description>
			<content:encoded><![CDATA[<p>Попалась как-то задачка создать shell-скрипт для автономной синхронизации файлов с локальной Linux-системы на удалённый ftp-сервер.</p>
<p><span id="more-63"></span></p>
<p><strong>Первый способ, используя ftp</strong></p>
<pre class="c"><span style="color: #339933;">#!/bin/sh</span>
ftp -n -v -p -i <span style="color: #ff0000;">&quot;ftp.remote.domain&quot;</span> &lt;&lt; cmd
user <span style="color: #ff0000;">&quot;login&quot;</span> <span style="color: #ff0000;">&quot;password&quot;</span>
cd /remotedir
lcd /localdir
mput *
quit</pre>
<p>Минусы его заключаются в том, что все файлы из локальной директории закачиваются на удалённый ftp-сервер при каждом вызове скрипта. Именно все, а не те, что изменились.</p>
<p><strong>Второй способ, используя lftp</strong></p>
<pre class="c"><span style="color: #339933;">#!/bin/sh</span>
lftp -p <span style="color: #cc66cc;">21</span> -u login,password ftp.<span style="color: #202020;">remote</span>.<span style="color: #202020;">domain</span>/remotedir  &lt;&lt; cmd
mirror -e -R -c -v --log=/var/log/lftp.<span style="color: #202020;">log</span> /localdir/path .
<span style="color: #202020;">quit</span></pre>
<p>листинг всех параметров lftp mirror:</p>
<pre>Usage: mirror [OPTS] [remote [local]]

Mirror specified remote directory to local directory

-c, --continue		continue a mirror job if possible
-e, --delete		delete files not present at remote site
--delete-first		delete old files before transferring new ones
-s, --allow-suid	set suid/sgid bits according to remote site
--allow-chown		try to set owner and group on files
--ignore-time		ignore time when deciding whether to download
-n, --only-newer	download only newer files (-c won't work)
-r, --no-recursion	don't go to subdirectories
-p, --no-perms		don't set file permissions
--no-umask		don't apply umask to file modes
-R, --reverse		reverse mirror (put files)
-L, --dereference	download symbolic links as files
-N, --newer-than=SPEC	download only files newer than specified time
-P, --parallel[=N]	download N files in parallel
-i RX, --include RX	include matching files
-x RX, --exclude RX	exclude matching files
RX is extended regular	expression
-v, --verbose[=N]	verbose operation
--log=FILE		write lftp commands being executed to FILE
--script=FILE		write lftp commands to FILE, but don't execute them
--just-print, --dry-run	same as --script=-

When using -R, the first directory is local and the second is remote.
If the second directory is omitted, basename of first directory is used.
If both directories are omitted, current local and remote directories are used.</pre>
<p>Таким образом, на удалённый ftp из локальной директории загружаются только новые файлы. Отсутствующие в локальной директории файлы также удаляются на удалённом ftp сервере. За это отвечает параметр <strong>-e</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://siava.su/2009/04/15/ftp-mirror/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разгоняем Linux</title>
		<link>http://siava.su/2009/01/05/linux-overclocking/</link>
		<comments>http://siava.su/2009/01/05/linux-overclocking/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 22:32:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[tuning]]></category>
		<category><![CDATA[быстродействие]]></category>
		<category><![CDATA[линукса]]></category>
		<category><![CDATA[оптимизация]]></category>
		<category><![CDATA[тюнинг]]></category>

		<guid isPermaLink="false">http://siava.su/?p=43</guid>
		<description><![CDATA[Достаточно интересный материал об оптимизации Linux-системы, взятый из журнала LINUX FORMAT (N4 2008).
ЧАСТЬ 1 - Оптимизация винчестера

Корневой раздел, на который у вас установлен Linux, скорее всего, содержит файловую систему ext3/ReiserFS/XFS. Сведения о монтируемых при загрузке разделах содержатся в файле /etc/fstab, где обязательно присутствует корневой раздел (/). Обратите внимание на пункт defaults, обозначающий стандартный набор параметров [...]]]></description>
			<content:encoded><![CDATA[<p>Достаточно интересный материал об оптимизации Linux-системы, взятый из журнала LINUX FORMAT (N4 2008).</p>
<p><strong>ЧАСТЬ 1 - Оптимизация винчестера</strong></p>
<p><span id="more-43"></span></p>
<p>Корневой раздел, на который у вас установлен Linux, скорее всего, содержит файловую систему ext3/ReiserFS/XFS. Сведения о монтируемых при загрузке разделах содержатся в файле /etc/fstab, где обязательно присутствует корневой раздел (/). Обратите внимание на пункт defaults, обозначающий стандартный набор параметров монтирования. Однако мы можем указать их и вручную, поставив после defaults запятую и перечислив ряд настроек, которые сделают файловую систему быстрее.</p>
<p>Например, для<br />
ReiserFS: acl,user_xattr,noatime,nodiratime,notail,barrier=flush<br />
Ext3: acl,user_xattr,noatime,nodiratime,barrier=1<br />
XFS: defaults,noatime,nodiratime,logbufs=8,logbsize=32k,biosize=16,allocsize=512m,barrier</p>
<p>Вот что все это означает:<br />
user_xattr – расширенные атрибуты файлов (используются для индексирования).<br />
barrier – команда очистки кэша.<br />
noatime и nodiratime – отключение записи времени последнего доступа (для файлов/директорий).<br />
allocsize – размер заранее резервируемой области на диске. Высокое значение помогает избежать фрагментации.<br />
biosize – размер I/O-блоков по умолчанию.<br />
logbufs – количество встроенных буферов для ведения журнала.<br />
logbsize – размер буфера.</p>
<p>Последние 3 параметра увеличивают скорость чтения/записи.</p>
<p><strong>Включаем режим Writeback</strong></p>
<p>В большинстве дистрибутивов при создании раздела ext3 используется тип журналирования Ordered (упорядоченный), т.к. он обеспечивает наилучшее соотношение скорости и безопасности. Однако самым быстрым режимом является Writeback (журналирование после записи): он осуществляет наименьшее журналирование.</p>
<p>Для его включения рекомендуется загрузиться в другой дистрибутив или с LiveCD, так как необходимо, чтобы ваш обычной корневой раздел (в нашем примере это /dev/sda1) был размонтирован:</p>
<p>tune2fs -O has_journal -o journal_data_writeback /dev/sda1</p>
<p><strong>Включение индексирования директорий</strong></p>
<p>Индексирование директорий увеличивает скорость чтения и записи «в» и «из» каталогов вашего жесткого диска. Это полностью безопасный и рекомендованный режим.</p>
<p>Сначала нужно указать режим журналирования:<br />
tune2fs -O dir_index /dev/sda1</p>
<p>Затем – включить индексацию существующих директорий:<br />
e2fsck -D /dev/sda1</p>
<p>Выполнение команды e2fsck может занять немного времени – это зависит от размера вашего раздела и количества директорий в нем."</p>
<p><strong>ЧАСТЬ 2 - Оптимизация загрузки Linux</strong></p>
<p>Здесь необходимо понимать, что и когда происходит во время старта системы. Последовательность примерно такова:</p>
<p>1 В соответствии с записью в загрузчике GRUB/LILO, загружается ядро (kernel) и образ необходимых для загрузки драйверов (initrd).<br />
2 Далее процесс /sbin/init запускает службы, настроенные для определенных уровней запуска. Последний уровень перед загрузкой графической системы – runlevel 5.<br />
3 Запускается менеджер дисплея (обычно gdm/kdm), предлагающий ввести имя пользователя и пароль (если не включена функция автоматического входа в систему).<br />
4 После того как вы авторизуетесь, будет загружена рабочая среда (обычно KDE или GNOME). При автоматическом входе в систему среда загружается сразу после запуска gdm/kdm, которых вы, соответственно, не видите.</p>
<p>Обычно все советы по уменьшению времени загрузки сводятся к отключению ненужных служб, но мы пойдем дальше и постараемся ускорить загрузку на самом первом этапе. Для этого необходимо пересобрать ядро без образа initramfs, который и отвечает за содержание файла initrd в директории /boot. Чтобы ОС смогла загрузиться без файла initrd, необходимо, чтобы в ядро был встроен драйвер файловой системы. Все остальные драйверы могут присутствовать в виде отдельных модулей. Итак, откройте окно конфигурации ядра (make xconfig или make menuconfig), найдите параметр Initial RAM filesystem and RAM disk (initramfs/initrd) support и снимите с него галочку. Теперь в разделе File systems убедитесь, что драйвер корневой файловой системы встроен в ядро (y), а не собирается в виде модуля (m). В качестве дополнительных мер по оптимизации ядра не забудьте сделать следующее:</p>
<p>В разделе Processor type and feautures выбрать свой тип процессора, повышенную частоту таймера (1000 Hz) и уменьшение задержек – Preemptible kernel (если у вас настольный компьютер). Также вы можете попробовать бестактовый режим – Tickless kernel, который очень положительно влияет на многозадачность.<br />
Отключить явно ненужные модули, типа Dallas 1-Wire bus и другие устройства, которых у вас точно нет (например, Bluetooth или Firewire). Этим вы сэкономите время при сборке ядра.<br />
Обязательно отключите Kernel debugging в разделе Kernel hacking, так вы сэкономите и на размере итогового ядра.</p>
<p>Теперь можно собрать ядро привычными командами: make all, make modules_install и make install. В большинстве современных дистрибутивов автоматически будет создана запись в файле загрузчика. Вы заметите, что она лишена записи об initrd. Теперь ядро будет загружаться и работать заметно быстрее!</p>
]]></content:encoded>
			<wfw:commentRss>http://siava.su/2009/01/05/linux-overclocking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Тюнинг squid прокси сервера</title>
		<link>http://siava.su/2008/08/19/squid-proxy-tuning/</link>
		<comments>http://siava.su/2008/08/19/squid-proxy-tuning/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 12:11:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://siava.su/?p=19</guid>
		<description><![CDATA[Настройки, позволяющие оптимизировать работу кеша squid прокси-сервера. Честно признаюсь, что нашёл их на просторах инета и не оптимизировал под свои нужды, но суть некоторых строк вполне понятна.

efresh_pattern windowsupdate.com/.*\.&#40;cab&#124;exe&#41; 4320 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.&#40;cab&#124;exe&#41; 4320 100% 43200 reload-into-ims
refresh_pattern ^http://.*\.cnn\.com 360 50% 4320 override-lastmod
refresh_pattern ^http://news\.bbc\.co\.uk 360 50% 4320 override-lastmod
refresh_pattern microsoft 1080 150% 10080 override-lastmod
refresh_pattern msn\.com 4320 150% [...]]]></description>
			<content:encoded><![CDATA[<p>Настройки, позволяющие оптимизировать работу кеша squid прокси-сервера. Честно признаюсь, что нашёл их на просторах инета и не оптимизировал под свои нужды, но суть некоторых строк вполне понятна.</p>
<p><span id="more-19"></span></p>
<pre class="asp">efresh_pattern windowsupdate.<span style="color: #9900cc;">com</span>/.<span style="color: #9900cc;">*</span>\.<span style="color: #9900cc;"><span style="color: #006600; font-weight:bold">&#40;</span>cab</span>|exe<span style="color: #006600; font-weight:bold">&#41;</span> <span style="color: #800000;">4320</span> <span style="color: #800000;">100</span>% <span style="color: #800000;">43200</span> reload-into-ims
refresh_pattern download.<span style="color: #9900cc;">microsoft</span>.<span style="color: #9900cc;">com</span>/.<span style="color: #9900cc;">*</span>\.<span style="color: #9900cc;"><span style="color: #006600; font-weight:bold">&#40;</span>cab</span>|exe<span style="color: #006600; font-weight:bold">&#41;</span> <span style="color: #800000;">4320</span> <span style="color: #800000;">100</span>% <span style="color: #800000;">43200</span> reload-into-ims
refresh_pattern ^http:<span style="color: #ff6600;">//.*\.cnn\.com 360 50% 4320 override-lastmod</span>
refresh_pattern ^http:<span style="color: #ff6600;">//news\.bbc\.co\.uk 360 50% 4320 override-lastmod</span>
refresh_pattern microsoft <span style="color: #800000;">1080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">10080</span> override-lastmod
refresh_pattern msn\.<span style="color: #9900cc;">com</span> <span style="color: #800000;">4320</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">10080</span> override-lastmod
refresh_pattern ^http:<span style="color: #ff6600;">//.*\.doubleclick\.net 10080 300% 40320 override-lastmod</span>
refresh_pattern ^http:<span style="color: #ff6600;">//.*FIDO 360 1000% 480</span>
refresh_pattern \.<span style="color: #9900cc;">r</span><span style="color: #006600; font-weight:bold">&#91;</span><span style="color: #800000;">0</span><span style="color: #800000;">-9</span><span style="color: #006600; font-weight:bold">&#93;</span><span style="color: #006600; font-weight:bold">&#91;</span><span style="color: #800000;">0</span><span style="color: #800000;">-0</span><span style="color: #006600; font-weight:bold">&#93;</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern ^http:<span style="color: #ff6600;">//.*\.gif$ 1440 50% 20160</span>
refresh_pattern ^http:<span style="color: #ff6600;">//.*\.asis$ 1440 50% 20160</span>
refresh_pattern -i \.<span style="color: #9900cc;">pdf</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">90</span>% <span style="color: #800000;">43200</span>
refresh_pattern -i \.<span style="color: #9900cc;">art</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">43200</span>
refresh_pattern -i \.<span style="color: #9900cc;">avi</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">mov</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">wav</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">mp3</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">qtm</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">mid</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">viv</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">mpg</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">jpg</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span> reload-into-ims
refresh_pattern -i \.<span style="color: #9900cc;">rar</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">ram</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">150</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">gif</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">300</span>% <span style="color: #800000;">40320</span> reload-into-ims
refresh_pattern -i \.<span style="color: #9900cc;">txt</span>$ <span style="color: #800000;">1440</span> <span style="color: #800000;">100</span>% <span style="color: #800000;">20160</span> reload-into-ims override-lastmod
refresh_pattern -i \.<span style="color: #9900cc;">zip</span>$ <span style="color: #800000;">2880</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">arj</span>$ <span style="color: #800000;">2880</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">exe</span>$ <span style="color: #800000;">2880</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">tgz</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">gz</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">tgz</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">tar</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
refresh_pattern -i \.<span style="color: #9900cc;">Z</span>$ <span style="color: #800000;">10080</span> <span style="color: #800000;">200</span>% <span style="color: #800000;">40320</span>
&nbsp;
refresh_pattern ^ftp:<span style="color: #ff6600;">// 1440 50% 10080</span>
refresh_pattern ^gopher:<span style="color: #ff6600;">// 1440 10% 1440</span>
refresh_pattern . <span style="color: #800000;">0</span> <span style="color: #800000;">20</span>% <span style="color: #800000;">4320</span>
negative_ttl <span style="color: #800000;">1</span> minutes
positive_dns_ttl <span style="color: #800000;">15</span> hours
negative_dns_ttl <span style="color: #800000;">1</span> minutes
half_closed_clients off</pre>
]]></content:encoded>
			<wfw:commentRss>http://siava.su/2008/08/19/squid-proxy-tuning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I/O schedulers в Linux</title>
		<link>http://siava.su/2008/06/11/linux-io-schedulers/</link>
		<comments>http://siava.su/2008/06/11/linux-io-schedulers/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:30:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://siava.su/?p=7</guid>
		<description><![CDATA[Сегодня, впервые за 4 года использования Slackware Linux, сделал для себя мега-открытие, что всё это время я использовал на сервере далеко не самые оптимальные планировщики ввода-вывода (для конкретных задач, разумеется).
Так вот, мой некогда любимый Deadline, а затем, сменивший его Anticipatory теперь нервно курят в сторонке :) Суть такова, что планировщик CFQ я не использовал из-за [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня, впервые за 4 года использования Slackware Linux, сделал для себя мега-открытие, что всё это время я использовал на сервере далеко не самые оптимальные планировщики ввода-вывода (для конкретных задач, разумеется).</p>
<p><span id="more-7"></span>Так вот, мой некогда любимый Deadline, а затем, сменивший его Anticipatory теперь нервно курят в сторонке :) Суть такова, что планировщик CFQ я не использовал из-за того, что его советуют ставить на Desktop-системы, мол для сервера он не катит.. а вот и зря! Deadline безусловно хорош, но при наличие на одном компе сервисов: mysql, httpd, игрового сервака, ftp, индексаторов и изрядного количества посетителей, которые умудряются всем этим пользоваться одновременно, получаются такие ситуации, когда из-за какого-нибудь тяжёлого SQL-запроса всё буквально "встаёт", ожидая его завершения. Система перебрасывая львиную долю своих ресурсов на этот запрос, ставя остальные в очередь, - а это не есть хорошо для веб-сервера.</p>
<p>Anticipatory делает примерно то же самое, а в некоторых случаях хуже. Пытаясь уменьшить число обращений к диску он заставляет систему ожидать некоторое время, чтобы поймать схожие запросы к областям диска. И опять же, в случае тяжёлых запросов к базе данных все остальные ждут своей очереди.</p>
<p>CFQ - планировщик активный по-умолчанию, а ведь и не зря! Он равномерно распределяет обращения к дисковой системе, выделяя примерно одинаковые ресурсы на это. Для веб-сервера с базой данных это просто идеальное сочетание, - все страницы генерятся быстро и непринуждённо, load average не скачет как сумасшедший, а равномерно колеблется в пределах некоторых отличных от нуля значений :)</p>
<p>Стоит отметить ещё одну мелочь - Timer frequency рекомендую задать максимальным значением в 1000Hz для ускорения времени отклика ядра на системные запросы.</p>
]]></content:encoded>
			<wfw:commentRss>http://siava.su/2008/06/11/linux-io-schedulers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
