<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>zaru blog &#187; サーバ_Linux_Windows</title>
	<atom:link href="http://zaru.tofu-kun.org/category/%e3%82%b5%e3%83%bc%e3%83%90_linux_windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://zaru.tofu-kun.org</link>
	<description>Web系のこととかー。</description>
	<lastBuildDate>Fri, 18 Nov 2011 02:28:49 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/category/%e3%82%b5%e3%83%bc%e3%83%90_linux_windows/feed/" />
		<item>
		<title>Postfixでメール転送する（バーチャルドメイン版＋通常版）</title>
		<link>http://zaru.tofu-kun.org/2011/05/11/postfix%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e8%bb%a2%e9%80%81%e3%81%99%e3%82%8b%ef%bc%88%e3%83%90%e3%83%bc%e3%83%81%e3%83%a3%e3%83%ab%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e7%89%88%ef%bc%8b%e9%80%9a/</link>
		<comments>http://zaru.tofu-kun.org/2011/05/11/postfix%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e8%bb%a2%e9%80%81%e3%81%99%e3%82%8b%ef%bc%88%e3%83%90%e3%83%bc%e3%83%81%e3%83%a3%e3%83%ab%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e7%89%88%ef%bc%8b%e9%80%9a/#comments</comments>
		<pubDate>Wed, 11 May 2011 02:24:22 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=347</guid>
		<description><![CDATA[Postfixで、メール転送をするには普通は2つの方法があります。/etc/aliases を利用するのと、~/.forward を利用する方法です。ただし、これはどちらも実ユーザが存在する場合のみに有効で、複数のドメインでバーチャルドメイン運用している場合は、そもそもユーザが存在しないので、これではできません。 メール転送ドメイン /etc/postfix/main.cf virtual_alias_domains = example.com, example.net virtual_alias_maps = hash:/etc/postfix/virtual バーチャルドメインで使用するドメインを記載します。 /etc/postfix/virtual example.com anything info@example.com aaa@example.co.jp example.net anything info@example.net aaa@example.co.jp bbb@example.co.jp 転送元メールアドレスの後に、転送先メールアドレスを記載していきます。複数の転送先を設定できます。 設定を反映させる #/usr/sbin/postmap /etc/postfix/virtual #/etc/rc.d/init.d/postfix restart 転送設定ファイルを反映させた後、postfixを再起動させてください。これで転送が出来ていると思います。 /etc/aliases を利用する方法 一応、普通のメール転送設定も。 /etc/aliases info:aaa@example.co.jp sales:aaa@example.co.jp,bbb@example.co.jp /etc/aliases に転送元メールアカウントの後に、転送先メールアドレスをカンマ区切りで記載していきます。 #postalias /etc/aliases #newaliases これで反映されます。なお、エイリアスファイルは、/etc/postfix/main.cf に alias_maps という項目で設定されています（通常は /etc/aliases のはず）。 ~/.forward aaa@example.co.jp bbb@example.co.jp と、転送元アカウントのホームディレクトリに .forward ファイルを作成して、転送先のメールアドレスを改行、もしくはカンマ区切りで記載していきます。 また、転送元にメールを残す場合はには \info [...]]]></description>
			<content:encoded><![CDATA[<p>Postfixで、メール転送をするには普通は2つの方法があります。/etc/aliases を利用するのと、~/.forward を利用する方法です。ただし、これはどちらも実ユーザが存在する場合のみに有効で、複数のドメインでバーチャルドメイン運用している場合は、そもそもユーザが存在しないので、これではできません。</p>
<h3>メール転送ドメイン</h3>
<h4>/etc/postfix/main.cf</h4>
<pre class="brush: bash; title: ;">virtual_alias_domains = example.com, example.net
virtual_alias_maps = hash:/etc/postfix/virtual
</pre>
<p>バーチャルドメインで使用するドメインを記載します。</p>
<h4>/etc/postfix/virtual</h4>
<pre class="brush: bash; title: ;">example.com anything
info@example.com aaa@example.co.jp

example.net anything
info@example.net aaa@example.co.jp bbb@example.co.jp
</pre>
<p>転送元メールアドレスの後に、転送先メールアドレスを記載していきます。複数の転送先を設定できます。</p>
<h4>設定を反映させる</h4>
<pre class="brush: bash; title: ;">#/usr/sbin/postmap /etc/postfix/virtual
#/etc/rc.d/init.d/postfix restart
</pre>
<p>転送設定ファイルを反映させた後、postfixを再起動させてください。これで転送が出来ていると思います。</p>
<h3>/etc/aliases を利用する方法</h3>
<p>一応、普通のメール転送設定も。</p>
<h4>/etc/aliases</h4>
<pre class="brush: bash; title: ;">info:aaa@example.co.jp
sales:aaa@example.co.jp,bbb@example.co.jp
</pre>
<p>/etc/aliases に転送元メールアカウントの後に、転送先メールアドレスをカンマ区切りで記載していきます。</p>
<pre class="brush: bash; title: ;">#postalias /etc/aliases
#newaliases
</pre>
<p>これで反映されます。なお、エイリアスファイルは、/etc/postfix/main.cf に alias_maps という項目で設定されています（通常は /etc/aliases のはず）。</p>
<h4>~/.forward</h4>
<pre class="brush: bash; title: ;">aaa@example.co.jp
bbb@example.co.jp
</pre>
<p>と、転送元アカウントのホームディレクトリに .forward ファイルを作成して、転送先のメールアドレスを改行、もしくはカンマ区切りで記載していきます。<br />
また、転送元にメールを残す場合はには</p>
<pre class="brush: bash; title: ;">\info
aaa@example.co.jp
bbb@example.co.jp
</pre>
<p>と、バックスラッシュ＋アカウント名を先頭に記載します。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=347&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2011/05/11/postfix%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e8%bb%a2%e9%80%81%e3%81%99%e3%82%8b%ef%bc%88%e3%83%90%e3%83%bc%e3%83%81%e3%83%a3%e3%83%ab%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e7%89%88%ef%bc%8b%e9%80%9a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2011/05/11/postfix%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e8%bb%a2%e9%80%81%e3%81%99%e3%82%8b%ef%bc%88%e3%83%90%e3%83%bc%e3%83%81%e3%83%a3%e3%83%ab%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e7%89%88%ef%bc%8b%e9%80%9a/" />
	</item>
		<item>
		<title>最近更新したファイルのリストを簡単に出力する方法</title>
		<link>http://zaru.tofu-kun.org/2011/03/08/%e6%9c%80%e8%bf%91%e6%9b%b4%e6%96%b0%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%b0%a1%e5%8d%98%e3%81%ab%e5%87%ba%e5%8a%9b%e3%81%99%e3%82%8b/</link>
		<comments>http://zaru.tofu-kun.org/2011/03/08/%e6%9c%80%e8%bf%91%e6%9b%b4%e6%96%b0%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%b0%a1%e5%8d%98%e3%81%ab%e5%87%ba%e5%8a%9b%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 14:45:46 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=324</guid>
		<description><![CDATA[大量にあるファイルの中から、自分が作業して更新したファイルのリストを出したくなる時ってありますよね？僕はつい先日ありました。なんでバージョン管理もしてないんだよっていう事は言ってはいけません。 そこで、今から1時間以内ないしは1日以内に更新されたファイルをリスト化する方法です。一発簡単find様様。 #60分以内 $find . -type -f -mmin -60 #一日以内 $find . -type -f -mtime -1 簡単便利。]]></description>
			<content:encoded><![CDATA[<p>大量にあるファイルの中から、自分が作業して更新したファイルのリストを出したくなる時ってありますよね？僕はつい先日ありました。なんでバージョン管理もしてないんだよっていう事は言ってはいけません。</p>
<p>そこで、今から1時間以内ないしは1日以内に更新されたファイルをリスト化する方法です。一発簡単find様様。</p>
<pre class="brush: bash; title: ;">
#60分以内
$find . -type -f -mmin -60

#一日以内
$find . -type -f -mtime -1
</pre>
<p>簡単便利。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=324&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2011/03/08/%e6%9c%80%e8%bf%91%e6%9b%b4%e6%96%b0%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%b0%a1%e5%8d%98%e3%81%ab%e5%87%ba%e5%8a%9b%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2011/03/08/%e6%9c%80%e8%bf%91%e6%9b%b4%e6%96%b0%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%b0%a1%e5%8d%98%e3%81%ab%e5%87%ba%e5%8a%9b%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>zip圧縮したファイルのままテキスト検索する方法</title>
		<link>http://zaru.tofu-kun.org/2011/03/03/zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%81%be%e3%81%be%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://zaru.tofu-kun.org/2011/03/03/zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%81%be%e3%81%be%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 06:49:30 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=316</guid>
		<description><![CDATA[サイズの大きなログファイルをzipやtar.gzなどでアーカイブしてあり、その状態のままテキスト検索をしたくなったので、調べてみたら簡単にできるコマンドがありました。 $zcat log.zip &#124; grep hoge $zcat log.tar.gz &#124; grep hoge zcat 以外にも zless / zmore などでもできます。]]></description>
			<content:encoded><![CDATA[<p>サイズの大きなログファイルをzipやtar.gzなどでアーカイブしてあり、その状態のままテキスト検索をしたくなったので、調べてみたら簡単にできるコマンドがありました。</p>
<pre class="brush: bash; title: ;">
$zcat log.zip | grep hoge
$zcat log.tar.gz | grep hoge
</pre>
<p>zcat 以外にも zless / zmore などでもできます。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=316&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2011/03/03/zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%81%be%e3%81%be%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2011/03/03/zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%81%be%e3%81%be%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/" />
	</item>
		<item>
		<title>PHPをtopできるphptopを動かしてみた</title>
		<link>http://zaru.tofu-kun.org/2010/12/21/php%e3%82%92top%e3%81%a7%e3%81%8d%e3%82%8bphptop%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://zaru.tofu-kun.org/2010/12/21/php%e3%82%92top%e3%81%a7%e3%81%8d%e3%82%8bphptop%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 05:25:43 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>
		<category><![CDATA[プログラミング_PHP]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=265</guid>
		<description><![CDATA[phptop = どのPHPに時間や負荷がかかっているか見られる ちょっと前に少し話題になったPHPをスクリプト毎（URIベース）で、topコマンド風に状況が見られるphptopを動かしてみた。 必要な環境 PHP5.2.0以上 Perl CPAN Term::Size phptopのダウンロード phptopのwikiにはphptop requires at least PHP >= 4.3.10 or PHP >= 5.0.3.って書いてあるけど、PHP5.2からの関数 memory_get_peak_usage() を使ってメモリ使用量を取得しているので、PHP5.2.0以上は必要。と思う。というか、5.1以下ではエラーで動かなかった。 なお、Term::Sizeモジュールを使用しているので、CPANからインストールしておくこと。 設定 /etc/php.ini log_errors=on auto_prepend_file=/usr/local/src/phptop_hook.php /usr/local/src/phptop #118行目あたり・単純にコメントアウトしても動くみたい #setlocale(POSIX::LC_NUMERIC, 'C'); # Use . as decimal separator setlocale(LC_NUMERIC, 'C'); # Use . as decimal separator #355行目あたり #push(@log, '/var/log/apache2/error*log', '/var/log/apache2/*/error*log') if !@log; push(@log, '/var/log/httpd/*error_log', '/var/log/httpd/*/error_log') [...]]]></description>
			<content:encoded><![CDATA[<h3>phptop = どのPHPに時間や負荷がかかっているか見られる</h3>
<p>ちょっと前に少し話題になったPHPをスクリプト毎（URIベース）で、topコマンド風に状況が見られるphptopを動かしてみた。</p>
<h4>必要な環境</h4>
<ul>
<li>PHP5.2.0以上</li>
<li>Perl</li>
<li>CPAN Term::Size</li>
<li><a href="http://forge.bearstech.com/trac/wiki/PhpTop" target="_blank">phptopのダウンロード</a></li>
</ul>
<p>phptopのwikiには<q>phptop requires at least PHP >= 4.3.10 or PHP >= 5.0.3.</q>って書いてあるけど、PHP5.2からの関数 <a href="http://php.net/manual/ja/function.memory-get-peak-usage.php" target="_blank">memory_get_peak_usage()</a> を使ってメモリ使用量を取得しているので、PHP5.2.0以上は必要。と思う。というか、5.1以下ではエラーで動かなかった。</p>
<p>なお、Term::Sizeモジュールを使用しているので、CPANからインストールしておくこと。</p>
<h4>設定</h4>
<p>/etc/php.ini</p>
<pre class="brush: bash; title: ;">
log_errors=on
auto_prepend_file=/usr/local/src/phptop_hook.php
</pre>
<p>/usr/local/src/phptop</p>
<pre class="brush: perl; title: ;">
#118行目あたり・単純にコメントアウトしても動くみたい
#setlocale(POSIX::LC_NUMERIC, 'C'); # Use . as decimal separator
setlocale(LC_NUMERIC, 'C'); # Use . as decimal separator

#355行目あたり
#push(@log, '/var/log/apache2/error*log', '/var/log/apache2/*/error*log') if !@log;
push(@log, '/var/log/httpd/*error_log', '/var/log/httpd/*/error_log') if !@log;
</pre>
<p>Apacheのエラーログの場所は適宜変更。Apacheエラーログに、phptop_hook.phpを通じてデータを吐き出す仕様になっている。</p>
<h4>使用方法</h4>
<p>php.iniを変更したので、Apacheを再起動後、PHPスクリプトへアクセスをする。Apacheのエラーログにデータが書き出されているのを確認したら、下記コマンドにてデータが出力される。</p>
<pre class="brush: bash; title: ;">
$./phptop -t 15 -s mem
</pre>
<p>No phptop records found. と出たら、正常にデータが取れていないので、エラーログを確認したり、php.iniが反映されているか確認する。</p>
<p>これを実践的に使う機会は、あまりないと思うけど（誰かが作った謎なシステムを別の側面から把握するためとか？）なかなか面白いなーと思った。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=265&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2010/12/21/php%e3%82%92top%e3%81%a7%e3%81%8d%e3%82%8bphptop%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2010/12/21/php%e3%82%92top%e3%81%a7%e3%81%8d%e3%82%8bphptop%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/" />
	</item>
		<item>
		<title>mod_pagespeedを導入・検証してみた</title>
		<link>http://zaru.tofu-kun.org/2010/11/24/mod_pagespeed%e3%82%92%e5%b0%8e%e5%85%a5%e3%83%bb%e6%a4%9c%e8%a8%bc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://zaru.tofu-kun.org/2010/11/24/mod_pagespeed%e3%82%92%e5%b0%8e%e5%85%a5%e3%83%bb%e6%a4%9c%e8%a8%bc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 10:10:10 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=209</guid>
		<description><![CDATA[Google謹製Apacheモジュール「mod_pagespeed」 mod_pagespeedをテストサーバに導入してどれぐらいのパフォーマンスが出るものなのか検証してみました。 mod_pagespeedの効果 mod_pagespeedは、サーバを高速化するのではなく、出力するHTMLを高速に表示できるよう書き換えるモジュール。つまり、サーバが頑張って、ユーザの体感速度を向上させる。 外部CSSファイルの連結 外部JSファイルの連結 CSS・JavaScriptのminify（最適化） CSS・JavaScriptの一部HTMLインライン化 その他の画像はEtag Cache-control付きの画像に書き換えられる ファイルサイズの小さい画像は data URI scheme（base64） 画像の幅・高さ自動調整（これは、大きい画像を無理やり小さく表示している場合など？） ホワイトスペース・コメントの削除 headタグの整形 HTMLの整形 余計なクォーテーションを削除 スクリプト無効（実験用ステータス？） 他にも細かい機能があったと思うけど、ほぼ関係ないので割愛。 計測条件 ローカルサーバに、HTML+画像+CSS+JSのみの構成（PHPやDBなどサーバ側の要素をなくすため） 外部ホストCSS/JSは読み込まない Firefoxは、Firebugによる計測／Chromeは、デベロッパーツールにて計測 InternetExplorerに関しては、Fiddlerによるコネクション時間計測のみで、レンダリング速度は入っていない 10回読み込んだ平均秒数 テーブルレイアウトの場合 基本、テーブルレイアウトの前時代なページ 外部CSSは1ファイル 外部JSは4ファイル（jQueryなどのライブラリ） ブラウザ 通常 通常（キャッシュなし） pagespeedあり pagespeedあり（キャッシュなし） Firefox 2.55sec 5.87sec 2.89sec 2.84sec Chrome 1.74sec 5.87sec 2.89sec 2.84sec InternetExplorer 1.21sec 1.70sec 1.01sec 1.35sec レンダリング速度は、遅くなることがほとんどだった。 CSSレイアウトの場合 基本、CSSでレイアウト 外部CSSは4ファイル [...]]]></description>
			<content:encoded><![CDATA[<h3>Google謹製Apacheモジュール「mod_pagespeed」</h3>
<p><a href="http://code.google.com/intl/ja/speed/page-speed/docs/module.html" target="_blank">mod_pagespeed</a>をテストサーバに導入してどれぐらいのパフォーマンスが出るものなのか検証してみました。</p>
<h4>mod_pagespeedの効果</h4>
<p>mod_pagespeedは、サーバを高速化するのではなく、出力するHTMLを高速に表示できるよう書き換えるモジュール。つまり、サーバが頑張って、ユーザの体感速度を向上させる。</p>
<ul>
<li>外部CSSファイルの連結</li>
<li>外部JSファイルの連結</li>
<li>CSS・JavaScriptのminify（最適化）</li>
<li>CSS・JavaScriptの一部HTMLインライン化</li>
<li>その他の画像はEtag Cache-control付きの画像に書き換えられる</li>
<li>ファイルサイズの小さい画像は data URI scheme（base64）</li>
<li>画像の幅・高さ自動調整（これは、大きい画像を無理やり小さく表示している場合など？）</li>
<li>ホワイトスペース・コメントの削除</li>
<li>headタグの整形</li>
<li>HTMLの整形</li>
<li>余計なクォーテーションを削除</li>
<li>スクリプト無効（実験用ステータス？）</li>
</ul>
<p>他にも細かい機能があったと思うけど、ほぼ関係ないので割愛。</p>
<h4>計測条件</h4>
<ul>
<li>ローカルサーバに、HTML+画像+CSS+JSのみの構成（PHPやDBなどサーバ側の要素をなくすため）</li>
<li>外部ホストCSS/JSは読み込まない</li>
<li>Firefoxは、Firebugによる計測／Chromeは、デベロッパーツールにて計測</li>
<li>InternetExplorerに関しては、Fiddlerによるコネクション時間計測のみで、レンダリング速度は入っていない</li>
<li>10回読み込んだ平均秒数</li>
</ul>
<h4>テーブルレイアウトの場合</h4>
<ul>
<li>基本、テーブルレイアウトの前時代なページ</li>
<li>外部CSSは1ファイル</li>
<li>外部JSは4ファイル（jQueryなどのライブラリ）</li>
</ul>
<table>
<tr>
<th>ブラウザ</th>
<th>通常</th>
<th>通常（キャッシュなし）</th>
<th>pagespeedあり</th>
<th>pagespeedあり（キャッシュなし）</th>
</tr>
<tr>
<th>Firefox</th>
<td>2.55sec</td>
<td>5.87sec</td>
<td>2.89sec</td>
<td>2.84sec</td>
</tr>
<tr>
<th>Chrome</th>
<td>1.74sec</td>
<td>5.87sec</td>
<td>2.89sec</td>
<td>2.84sec</td>
</tr>
<tr>
<th>InternetExplorer</th>
<td>1.21sec</td>
<td>1.70sec</td>
<td>1.01sec</td>
<td>1.35sec</td>
</tr>
</table>
<p>レンダリング速度は、遅くなることがほとんどだった。</p>
<h4>CSSレイアウトの場合</h4>
<ul>
<li>基本、CSSでレイアウト</li>
<li>外部CSSは4ファイル</li>
<li>外部JSは4ファイル（jQueryなどのライブラリ）</li>
</ul>
<table>
<tr>
<th>ブラウザ</th>
<th>通常</th>
<th>通常（キャッシュなし）</th>
<th>pagespeedあり</th>
<th>pagespeedあり（キャッシュなし）</th>
</tr>
<tr>
<th>Firefox</th>
<td>2.33sec</td>
<td>3.50sec</td>
<td>1.06sec</td>
<td>1.78sec</td>
</tr>
<tr>
<th>Chrome</th>
<td>1.63sec</td>
<td>2.04sec</td>
<td>1.22sec</td>
<td>1.16sec</td>
</tr>
<tr>
<th>InternetExplorer</th>
<td>1.17sec</td>
<td>1.31sec</td>
<td>0.99sec</td>
<td>1.25sec</td>
</tr>
</table>
<p>安定して速度の向上が見られた。</p>
<h4>ab（ApacheBenchmark）によるサーバ負荷計測</h4>
<table>
<tr>
<th>通常</th>
<th>pagespeedあり</th>
</tr>
<tr>
<th>3444[#/sec]</th>
<td>55[#/sec]</td>
</tr>
</table>
<p>想定よりも差が広がった。ただ、load averageは、0.5を上回ることはなかったので、よほどアクセス数があるサーバでない限りは問題はない…のだろうか。うーん。せめて200程度は欲しいと思っていたけど。</p>
<h4>Apacheのメモリ使用量</h4>
<table>
<tr>
<th>通常</th>
<th>pagespeedあり</th>
</tr>
<tr>
<th>16.884KB</th>
<td>31,868KB</td>
</tr>
</table>
<p>約2倍弱。メモリに余裕が無い場合は、プロセス数を制限しないと導入自体が難しい。</p>
<h4>まとめ</h4>
<p>けっこうなサーバ負荷が計測された。その上、ページの作りによっては全然パフォーマンスを得られないケースが多かった。テーブルレイアウト・CSSレイアウト以外にも、ハイブリッドなレイアウトなど色々と試してみたけど、殆どのケースで変化なし・微妙に遅いという結果に。</p>
<p>小さい画像がたくさんあるケースで、なおかつCSSレイアウトの場合は、速度向上が期待できるので、その場合は導入してもいいかもしれない。ただ、サーバリソースに余裕が無いからなのか、mod_pagespeedのバグなのか判断できなかったけど、生成される画像が壊れていたりと微妙に不安定だった。</p>
<p>まだbetaなので、今後に期待していきたいところ。</p>
<p>というか、この程度であればモジュールを使わずに事前にサイト設計に折り込めば、同様の恩恵が受けられるかもしれない。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=209&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2010/11/24/mod_pagespeed%e3%82%92%e5%b0%8e%e5%85%a5%e3%83%bb%e6%a4%9c%e8%a8%bc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2010/11/24/mod_pagespeed%e3%82%92%e5%b0%8e%e5%85%a5%e3%83%bb%e6%a4%9c%e8%a8%bc%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/" />
	</item>
		<item>
		<title>CentOS4.5にPHP5.3をyumを使ってインストールする</title>
		<link>http://zaru.tofu-kun.org/2010/03/10/centos4-5%e3%81%abphp5-3%e3%82%92yum%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/</link>
		<comments>http://zaru.tofu-kun.org/2010/03/10/centos4-5%e3%81%abphp5-3%e3%82%92yum%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 08:52:03 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=150</guid>
		<description><![CDATA[古いCentOSに新しいPHPをインストールするには…？ CentOS4.5という微妙に古いバージョンを使っているので、yumでアプリケーションを管理していると最新のものからは程遠いバージョンを使うことが多い。けど、PHPは5.3が使いたい！でもソースからインストールすると面倒くさい。というわけで、yumリポジトリを追加してインストールしよう。 EPEL : yumリポジトリ追加 EPELというRHEL, Centos 向けの拡張パッケージリポジトリがあるので、こいつを追加する。 wget http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm wget http://rpms.famillecollet.com/el4.i386/remi-release-4-5.el4.remi.noarch.rpm rpm -Uvh remi-release-4*.rpm epel-release-4*.rpm cd /etc/yum.repos.d wget http://rpms.famillecollet.com/remi-enterprise.repo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi PHPのバージョンをチェック 先ほど追加したリポジトリを有効にしてリストをチェックする yum --enablerepo=remi list php php.i386 5.3.2-1.el4.remi というわけで、無事に5.3が見つかる。 yum --enablerepo=remi update php これで無事完了。ただし、PHP5.3にアップデートすることで、既存のアプリケーションがエラーになって動かないことがあるので要注意。]]></description>
			<content:encoded><![CDATA[<h3>古いCentOSに新しいPHPをインストールするには…？</h3>
<p>CentOS4.5という微妙に古いバージョンを使っているので、yumでアプリケーションを管理していると最新のものからは程遠いバージョンを使うことが多い。けど、PHPは5.3が使いたい！でもソースからインストールすると面倒くさい。というわけで、yumリポジトリを追加してインストールしよう。</p>
<h3>EPEL : yumリポジトリ追加</h3>
<p>EPELというRHEL, Centos 向けの拡張パッケージリポジトリがあるので、こいつを追加する。</p>
<pre class="brush: bash; title: ;">
wget http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm
wget http://rpms.famillecollet.com/el4.i386/remi-release-4-5.el4.remi.noarch.rpm
rpm -Uvh remi-release-4*.rpm epel-release-4*.rpm
cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/remi-enterprise.repo
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
</pre>
<h3>PHPのバージョンをチェック</h3>
<p>先ほど追加したリポジトリを有効にしてリストをチェックする</p>
<pre class="brush: bash; title: ;">
yum --enablerepo=remi list php
</pre>
<p><code>php.i386                                 5.3.2-1.el4.remi</code></p>
<p>というわけで、無事に5.3が見つかる。</p>
<pre class="brush: bash; title: ;">
yum --enablerepo=remi update php
</pre>
<p>これで無事完了。ただし、PHP5.3にアップデートすることで、既存のアプリケーションがエラーになって動かないことがあるので要注意。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=150&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2010/03/10/centos4-5%e3%81%abphp5-3%e3%82%92yum%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2010/03/10/centos4-5%e3%81%abphp5-3%e3%82%92yum%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>WindowsのApache+OpenSSLで、CSRを作成する時に</title>
		<link>http://zaru.tofu-kun.org/2010/03/08/windows%e3%81%aeapacheopenssl%e3%81%a7%e3%80%81csr%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e6%99%82%e3%81%ab/</link>
		<comments>http://zaru.tofu-kun.org/2010/03/08/windows%e3%81%aeapacheopenssl%e3%81%a7%e3%80%81csr%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e6%99%82%e3%81%ab/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 09:35:09 +0000</pubDate>
		<dc:creator>zaru</dc:creator>
				<category><![CDATA[サーバ_Linux_Windows]]></category>

		<guid isPermaLink="false">http://zaru.tofu-kun.org/?p=146</guid>
		<description><![CDATA[WindowsのApache+OpenSSLで、CSRを作成しようの回 ちょっとした案件で、Windows2000Serverで稼働しているApache＋OpenSSLなサーバでSSLの更新作業をする必要があり、まずはCSRを作らねば、ということでOpenSSLのある場所までコマンドプロンプトで移動。 C:¥&#62;openssl.exe req -new &#62; server.csr とかやると、なぜか Unable to load config info from /usr/local/ssl/openssl.cnf とエラーで怒られる。Windowsなのに、そのパス指示はなんだよ！と思いつつ、仕方がないのでコマンドのヘルプを見たら、openssl.cnfのファイル場所を指定できるらししい。 C:¥&#62;openssl.exe req -new -config openssl.cnf &#62; server.csr 余談 んじゃ、openssl.cnfはどこにあるんだろう？と思って検索してみたら…あれ？なんか出てこない…。なんでなんで？と思って調べていたら、どうやらWindowsでは拡張子「cnf」は短縮ダイヤルのアイコンで表示されるらしい。な、なんだってー？！知らなかったよ。MySQLの設定ファイル「my.cnf」も同様に表示されるっぽい。 しかし、拡張子をすべて表示するっていう設定に指定たんだけどなぁ。エクスプローラ上では「openssl」ってファイル名になっているんだよね。秀丸で開くと「openssl.cnf」ってファイル名だけど。まぁ、いいや。]]></description>
			<content:encoded><![CDATA[<h3>WindowsのApache+OpenSSLで、CSRを作成しようの回</h3>
<p>ちょっとした案件で、Windows2000Serverで稼働しているApache＋OpenSSLなサーバでSSLの更新作業をする必要があり、まずはCSRを作らねば、ということでOpenSSLのある場所までコマンドプロンプトで移動。</p>
<p><code>C:¥&gt;openssl.exe req -new &gt; server.csr</code></p>
<p>とかやると、なぜか</p>
<p><code>Unable to load config info from /usr/local/ssl/openssl.cnf</code></p>
<p>とエラーで怒られる。Windowsなのに、そのパス指示はなんだよ！と思いつつ、仕方がないのでコマンドのヘルプを見たら、openssl.cnfのファイル場所を指定できるらししい。</p>
<p><code>C:¥&gt;openssl.exe req -new -config openssl.cnf &gt; server.csr</code></p>
<h3>余談</h3>
<p>んじゃ、openssl.cnfはどこにあるんだろう？と思って検索してみたら…あれ？なんか出てこない…。なんでなんで？と思って調べていたら、どうやらWindowsでは拡張子「cnf」は短縮ダイヤルのアイコンで表示されるらしい。な、なんだってー？！知らなかったよ。MySQLの設定ファイル「my.cnf」も同様に表示されるっぽい。</p>
<p>しかし、拡張子をすべて表示するっていう設定に指定たんだけどなぁ。エクスプローラ上では「openssl」ってファイル名になっているんだよね。秀丸で開くと「openssl.cnf」ってファイル名だけど。まぁ、いいや。</p>
<img src="http://zaru.tofu-kun.org/?ak_action=api_record_view&id=146&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://zaru.tofu-kun.org/2010/03/08/windows%e3%81%aeapacheopenssl%e3%81%a7%e3%80%81csr%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e6%99%82%e3%81%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zaru.tofu-kun.org/2010/03/08/windows%e3%81%aeapacheopenssl%e3%81%a7%e3%80%81csr%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e6%99%82%e3%81%ab/" />
	</item>
	</channel>
</rss>

