<?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>複眼中心</title>
	<atom:link href="http://rewse.jp/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://rewse.jp/blog</link>
	<description>日本オラクルでデーターベース・パフォーマンス・エンジニアをしている柴田竜典のブログ</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:21:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/feed" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Oracle OpenWorld Tokyo 2012 &#124; JavaOne Tokyo 2012 お申込み受付開始</title>
		<link>http://rewse.jp/blog/p/4409</link>
		<comments>http://rewse.jp/blog/p/4409#comments</comments>
		<pubDate>Wed, 25 Jan 2012 12:23:31 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4409</guid>
		<description><![CDATA[<p><a href="http://www.oracle.co.jp/openworld/">Oracle OpenWorld Tokyo 2012</a> と <a href="http://www.oracle.co.jp/javaone/">JavaOne Tokyo 2012</a> のお申込み受付が始まりました。Oracle OpenWorld Tokyo 2012 は4月4日から6日まで、JavaOne Tokyo 2012 は4月4日から5日まで、それぞれ六本木ヒルズなどで開催されます。参加費は Oracle OpenWorld Tokyo 2012 が無料で、JavaOne Tokyo 2012 が5,250円です。</p>

<p>以下のバナーからお申込みいただき、招待コードに「<code>2715</code>」を入力していただくと、Oracle OpenWorld Tokyo 2012 では Leaders Club メンバーとして招待者限定セッションに参加できるようになります。JavaOne Tokyo 2012 では招待コードを入れるメリットは参加者の皆さまには特にないのですが……、私がほんの少し上司にほめられるかもしれません。</p> <a href="http://rewse.jp/blog/p/4409">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/owjo.png" alt="" title="Oracle OpenWorld | JavaOne" width="500" height="265" class="alignnone size-full wp-image-4806" /></div>

<p><a href="http://www.oracle.co.jp/openworld/">Oracle OpenWorld Tokyo 2012</a> と <a href="http://www.oracle.co.jp/javaone/">JavaOne Tokyo 2012</a> のお申込み受付が始まりました。Oracle OpenWorld Tokyo 2012 は4月4日から6日まで、JavaOne Tokyo 2012 は4月4日から5日まで、それぞれ六本木ヒルズなどで開催されます。参加費は Oracle OpenWorld Tokyo 2012 が無料で、JavaOne Tokyo 2012 が5,250円です。</p>

<p>以下のバナーからお申込みいただき、招待コードに「<code>2715</code>」を入力していただくと、Oracle OpenWorld Tokyo 2012 では Leaders Club メンバーとして招待者限定セッションに参加できるようになります。JavaOne Tokyo 2012 では招待コードを入れるメリットは参加者の皆さまには特にないのですが……、私がほんの少し上司にほめられるかもしれません。</p>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/oow_250x100.jpg" alt="" title="Oracle OpenWorld Tokyo 2012" width="250" height="100" class="alignnone size-full wp-image-4838" /></a><a href="https://oj-events.jp/public/application/add/46"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/jvo_250x100.jpg" alt="" title="JavaOne Tokyo 2012" width="250" height="100" class="alignnone size-full wp-image-4411" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4409/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4409" />
	</item>
		<item>
		<title>Scientific Linux 6 をインストールして最初に行なう17の設定</title>
		<link>http://rewse.jp/blog/p/3405</link>
		<comments>http://rewse.jp/blog/p/3405#comments</comments>
		<pubDate>Mon, 23 Jan 2012 13:35:37 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[trouble]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=3405</guid>
		<description><![CDATA[<p>ボクが <a href="http://www.scientificlinux.org/">Scientific Linux</a> 6 を使う始めるときに、必ず設定やインストールしている項目をここでまとめておく。</p>

<h2>rootユーザーのメールアドレスの設定</h2>

<p>Scientific Linux から管理者であるroot宛に様々なメールが届くが、そのままではrootで当該マシンにログインしないと読めないので、いつも使っているメールアドレスに届くように変更する。ボクの場合、rewse.jpのメールアドレスをメインに使っているけど、そのメール・サーバーに障害が起きたときにそれを通知するメールが受け取れないので、<a href="mail.google.com/">Gmail</a>のアドレスを設定している。</p> <a href="http://rewse.jp/blog/p/3405">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2011/07/scientificlinux6.png" alt="" title="Scientific Linux" width="250" height="250" class="alignnone size-full wp-image-3462" /></div>

<p>ボクが <a href="http://www.scientificlinux.org/">Scientific Linux</a> 6 を使う始めるときに、必ず設定やインストールしている項目をここでまとめておく。</p>

<h2>rootユーザーのメールアドレスの設定</h2>

<p>Scientific Linux から管理者であるroot宛に様々なメールが届くが、そのままではrootで当該マシンにログインしないと読めないので、いつも使っているメールアドレスに届くように変更する。ボクの場合、rewse.jpのメールアドレスをメインに使っているけど、そのメール・サーバーに障害が起きたときにそれを通知するメールが受け取れないので、<a href="http://mail.google.com/">Gmail</a>のアドレスを設定している。</p>

<pre class="brush: plain; first-line: 95; highlight: [97]; title: /etc/aliases; notranslate"># Person who should get root's mail
#root:          marc
root:           example@gmail.com</pre>
<span id="more-3405"></span>
<p>/etc/aliasesを編集しただけでは設定は有効にならないので、忘れずに<code>newaliases</code>を実行する。</p>

<pre class="screen">[root@charlie ~]# newaliases</pre>

<p>ボクの自宅サーバーで使っている固定IPアドレスは逆引き設定できず、逆引きすると契約ISPのドメインが戻ってしまうため、Gmailに直接メール送信すると The IP you&#8217;re using to send mail is not authorized to 550-5.7.1 send email directly to our servers. で受信拒否されてしまう。対策方法は <a href="http://mail.google.com/support/bin/answer.py?answer=10336">Gmail: The IP you&#8217;re using to send email is not authorized&#8230;</a> に載っているとおりなので、契約ISPのSMTPサーバーに中継するように設定変更する。</p>

<p>Postfixに中継サーバーを設定する。SMTPサーバー名を指定する場合には必ず [ ] をつけることを忘れずに。</p>

<pre class="brush: plain; first-line: 304; highlight: [309]; title: /etc/postfix/main.cf; notranslate">#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = [mail.asahi-net.or.jp]</pre>

<p>また、Postfixのデフォルト設定では送信元メールアドレスのドメイン部分はホスト名になっているが、このままだと Sender address rejected: Domain not found エラーで受信拒否される場合があるので、ドメイン部分を変更する。</p>

<pre class="brush: plain; first-line: 92; highlight: [94]; title: /etc/postfix/main.cf; notranslate">#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain</pre>

<p>設定ファイルを再読み込みする。</p>

<pre class="screen">[root@charlie ~]# service postfix reload
Reloading postfix:                                         [  OK  ]</pre>

<p>このように受信側メール・サーバーのいろいろなポリシーで拒否される場合があるので、必ずテスト・メールを送ってみよう。<code>mail</code>では本文を書き終えたら<code>.</code>（ピリオド）だけの行を入力すると本文終了の意味になる。</p>

<pre class="screen">[root@charlie ~]# mail -s "Test Mail" root
This is a test mail.
.
EOT</pre>

<h2>NTPの設定</h2>

<p>パッケージを絞ってインストールしたためか、ボクの環境ではNTPが入っていなかったので、まずはインストール。</p>

<pre class="screen">[root@charlie ~]# yum install ntp
......
================================================================================
 Package        Arch          Version                           Repository
                                                                           Size
================================================================================
Installing:
 ntp            x86_64        4.2.4p8-2.el6                     sl        444 k
Installing for dependencies:
 libedit        x86_64        2.11-4.20080712cvs.1.el6          sl         73 k
 ntpdate        x86_64        4.2.4p8-2.el6                     sl         57 k
......</pre>

<p>海外NTPサーバーだとレイテンシーが大きいので、国内NTPサーバーを追加する。ボクは <a href="http://www2.nict.go.jp/w/w114/tsp/PubNtp/">情報通信研究機構</a> (NICT) / <a href="http://www.jst.mfeed.ad.jp/">INTERNET MULTIFEED</a> の定番に加えて、契約ISPの<a href="http://asahi-net.jp/">ASAHIネット</a>を追加した。なお、ntp.nict.jpはIPv6でも接続可能なため、なお、強制的にIPv4で通信するように<code>-4</code>をすべて追加している。</p>

<pre class="brush: plain; first-line: 20; highlight: [25,26,27]; title: /etc/ntp.conf; notranslate"># Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server -4 0.rhel.pool.ntp.org
server -4 1.rhel.pool.ntp.org
server -4 2.rhel.pool.ntp.org
server -4 ntp.nict.jp
server -4 ntp.jst.mfeed.ad.jp
server -4 ntp.asahi-net.or.jp</pre>

<p>NTPサーバーとの時刻が違いすぎると自動調整が利かないので、一度、手動で合わせてしまう。</p>

<pre class="screen">[root@charlie ~]# ntpdate ntp.nict.jp
28 May 22:45:46 ntpdate[5030]: step time server 133.243.238.244 offset -18.324051 sec</pre>

<p>NTPサービスを起動時から有効になるように設定変更し、サービスを開始する。</p>

<pre class="screen">[root@charlie ~]# chkconfig ntpd on
[root@charlie ~]# service ntpd start
ntpd を起動中:                                             [  OK  ]</pre>

<p>しばらくすると以下のコマンドでNTPの同期状況が分かるようになる。上3つは <a href="http://www.pool.ntp.org/">NTP Pool Project</a> のものなので自動的に選ばれたものだ。先頭に<code>*</code>（アスタリスク）がついているサーバーが現在同期中のサーバーで、ntp.nict.jpを使用しているようだ。ntp.nict.jpはストラタムが1なので（一次サーバーなので）選ばれやすい。</p>

<pre class="screen">[root@charlie ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp.kiba.net    195.71.81.206    2 u   12   64  377   11.793  -34.807   2.153
 www.4koma.com   133.243.238.163  2 u   12   64  377   41.168  -15.576   4.411
-foneus.gimasyst 10.0.5.10        2 u   12   64  377    4.741  -40.622   5.522
*ntp-b2.nict.go. .NICT.           1 u   12   64  377    4.223  -35.788   2.374
+ntp3.jst.mfeed. 210.173.160.86   2 u    8   64  377    2.192  -34.882   2.264
+orion.asahi-net 133.243.238.244  2 u   11   64  377    1.900  -36.306   2.281
 LOCAL(0)        .LOCL.          10 l    2   64  377    0.000    0.000   0.002</pre>

<h2>Yumの設定</h2>

<p>デフォルトでは海外にある公式サイトの更新サーバーを見に行ってしまって遅いので、国内ミラーに設定変更する。変更方法は <a href="http://rewse.jp/blog/p/3411">複眼中心: 国内 Scientific Linux 6 サーバーのためのyum設定</a> を参照してほしい。

<h2>Cronの設定</h2>

<p>何台かのマシンがあるとき、すべてが同じ時刻にCronを動かすとその瞬間だけ高負荷になってしまうので、個々のマシンで実行時刻をずらす。このマシンでは以下のように変更した。</p>

<pre class="brush: plain; title: /etc/cron.d/0hourly; notranslate">SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#01 * * * * root run-parts /etc/cron.hourly
11 * * * * root run-parts /etc/cron.hourly</pre>

<p>Scientific Linux 5 と違って、cron.daily / cron.weekly / cron.monthly はAnacron経由で実行される。Aancronは<code>START_HOURS_RANGE</code>の時間帯のみ実行され、period in days の日数ごとにAnacronデーモンが起動してから delay in minutes + <code>RANDOM_DELAY</code>の間にcommandが実行される。つまり以下の設定がされた常に起動しているサーバーの場合、/etc/cron.dailyは1日ごと（毎日）の3時05分から3時50分の間に実行され、/etc/cron.weeklyは7日ごと（毎週）の3時25分から4時10分の間に実行される。</p>

<pre class="brush: plain; first-line: 8; title: /etc/anacrontab; notranslate"># the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command 
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly</pre>

<p>デフォルトの値はワークステーションが前提なのか深夜以外の時間帯にCronを実行するようになっているので、これを深夜のみに変更する。Anacron自体は/etc/cron.hourly/0anacronから実行されるので、デーモンの再起動などは必要ない。</p>

<pre class="brush: plain; first-line: 10; highlight: [11,12]; title: /etc/anacrontab; notranslate"># the jobs will be started during the following hours only
#START_HOURS_RANGE=3-22
START_HOURS_RANGE=3-6</pre>

<h2>パフォーマンス関連パッケージのインストール</h2>

<p>OSの統計情報を獲るためのdstatとsysstatをインストールする。</p>

<pre class="screen">[root@zulu ~]# yum install dstat sysstat
......
================================================================================
 Package           Arch             Version                  Repository    Size
================================================================================
Installing:
 dstat             noarch           0.7.0-1.el6              sl           136 k
 sysstat           x86_64           9.0.4-11.el6             sl           214 k
......</pre>

<h2>不要なサービスの停止</h2>

<p>この環境では必要ないサービスを自動起動しないように変更し、サービスを停止する。</p>

<pre class="screen">[root@zulu ~]# chkconfig sysstat off
[root@zulu ~]# service sysstat stop</pre>

<h2>必要なサービスの開始</h2>

<p>この環境に必要なサービスを自動起動するように変更し、サービスを開始する。</p>

<pre class="screen">[root@zulu ~]# chkconfig ipmi start
[root@charlie proc]# service ipmi start
Starting ipmi drivers:                                     [  OK  ]</pre>

<h2>ディスクのチューニング</h2>

<p>ext4ではデフォルト予約ファイルシステム・ブロックとして全容量の5%が割り当てられている。<code>df</code>したときに「使用」+「残り」の値が「サイズ」と違うのはこの予約ファイルシステム・ブロックがあるためで、この予約ファイルシステム・ブロックにはrootのみが書き込むことができる。そのため、例えば一般ユーザーが/tmpをあふれさせてしまっても、rootは予約ファイルシステム・ブロックを使って/tmpにまだ書き込むことができ、管理作業を行うことができる。ただ、最近の大容量ディスクではデフォルトの5%は大きすぎると思うので、これを容量に従って少し小さくする。仮想マシンのディスク・イメージを配置するパーティションなんかは大容量だけど不意の書込みはほとんどないので、予約ファイルシステム・ブロックは少なくできる代表例だろう。</p>

<table>
  <tr>
    <th>パーティション容量</th>
    <th>予約ファイルシステム・ブロック</th>
  </tr>
  <tr>
    <td>1GB未満</td>
    <td>5%</td>
  </tr>
  <tr>
    <td>1GB以上</td>
    <td>4%</td>
  </tr>
  <tr>
    <td>10GB以上</td>
    <td>3%</td>
  </tr>
  <tr>
    <td>100GB以上</td>
    <td>2%</td>
  </tr>
  <tr>
    <td>1TB以上</td>
    <td>1%</td>
  </tr>
</table>

<p>また、ファイルシステムをチェックする最大マウント回数 (<code>-c</code>) とファイルシステムをチェックする最大時間間隔 (<code>-i</code>) も気をつけよう。デフォルトでは30回程度（ランダム）のマウントまたは180日目のマウントで自動的にfsckが実行される。OS起動時に予期せず巨大なパーティションに対してfsckが実行されてしまい、いつまで経ってもOSが起動しないというようなことが起きないように、ボクは <code>-c 0 -i 0</code> にすべてのパーティションをしているし、GUIインストーラーであるAnacondaで自動フォーマットした場合は自動的に <code>-c 0 -i 0</code> になっている。</p>

<pre class="screen">[root@charlie ~]# tune2fs -m 1 -c 0 -i 0 /dev/sdd1
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Setting reserved blocks percentage to 1% (2441406 blocks)</pre>

<h2>smartdの設定</h2>

<p>ディスクのS.M.A.R.Tを監視し、異常が発見された場合は告知してくれるsmartdはデフォルトの設定ではSATAディスクに対応していないので、それを修正する。

<pre class="brush: plain; first-line: 17; highlight: [23,24]; title: /etc/smartd.conf; notranslate"># The word DEVICESCAN will cause any remaining lines in this
# configuration file to be ignored: it tells smartd to scan for all
# ATA and SCSI devices.  DEVICESCAN may be followed by any of the
# Directives listed below, which will be applied to all devices that
# are found.  Most users should comment out DEVICESCAN and explicitly
# list the devices that they wish to monitor.
#DEVICESCAN -H -m root
DEVICESCAN -H -m root -d sat</pre>

<h2>99-raid-checkの設定</h2>

<p>/etc/cron.weekly/99-raid-checkはRAIDの各ディスク間でデータ不一致がないかどうかを見つけてくれるのだけど、そのためにディスクを全走査するので2TBが3本のRAID5で5時間以上掛かってしまう一方、スワップ領域を含むディスクはデータ不一致を誤検知することがあって信用ならないので、スワップで使用しているLVMの論理ボリュームを含む2TBの領域はこのチェックを行なわないようにした。この問題の詳細は <a href="http://wp.serpere.info/archives/1099">へびにっき: WARNING: mismatch_cnt is not 0 on /dev/md0</a> が詳しい。</p>

<pre class="brush: plain; first-line: 49; title: /etc/sysconfig/raid-check; notranslate">......
# To check devs /dev/md0 and /dev/md3, use &amp;amp;quot;md0 md3&amp;amp;quot;
CHECK_DEVS=&amp;amp;quot;&amp;amp;quot;
REPAIR_DEVS=&amp;amp;quot;&amp;amp;quot;
#SKIP_DEVS=&amp;amp;quot;&amp;amp;quot;
SKIP_DEVS=&amp;amp;quot;md1&amp;amp;quot;</pre>

<h2>iptablesの設定</h2>

<p>iptablesを使ってファイアウォールを構築する。構築方法は <a href="http://rewse.jp/blog/p/3109">複眼中心: iptablesによるファイアウォール設定</a> を参照してほしい。</p>

<h2>Avira AntiVir Personal (UNIX) のインストール</h2>

<p>ウイルス対策に Avira AntiVir Personal (UNIX) をインストールする。インストール方法は <a href="http://rewse.jp/blog/p/3050">複眼中心: Avira AntiVir Personal (UNIX) 3.1.3.5-0 インストール</a> を参照してほしい。</p>

<h2>chkrootkitのインストール</h2>

<p>ルートキット対策にchkrootkitをインストールする。インストール方法は <a href="http://rewse.jp/blog/p/3724">複眼中心: Scientific Linux 6.1 に chkrootkit 0.49 をインストール</a> を参照してほしい。</p>

<h2>バックアップの設定</h2>

<p>rsyncを使用してNFS経由で別マシンに日次バックアップを行うスクリプトを設置する。このスクリプトは <a href="http://www.apple.com/jp/macosx/">Mac OS X</a> の Time Machine にインスパイアされたもので、ハードリンクを使用した重複排除や、週次の間引きなども行うようになっている。スクリプトの詳細は <a href="https://github.com/rewse/backup.cron">GitHub: rewse: backup.cron</a> を参照してほしい。</p>

<h2>Zabbixエージェントのインストール</h2>

<p>統合監視にZabbixを使用しているので、そのエージェントをインストールする。</p>

<h2>LDAPとOSユーザーを連携</h2>

<p>ボクの環境にはLDAPサーバーがあり、OSユーザーはローカル管理せずにこのLDAPサーバーを使うようにしているので、この連携を行う。連携方法については <a href="http://rewse.jp/blog/p/999">複眼中心: LDAPとOSユーザーを連携</a> を参照してほしい。</p>

<h2>各種の設定</h2>

<p>/etc/profile.d, /etc/inputrc, /etc/screenrc, /etc/vimrc にいつもの設定を追加する。vimrcについては <a href="http://rewse.jp/blog/p/3086">複眼中心: 2011年5月のvimrc</a> を参照してほしい。</p>
]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/3405/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/3405" />
	</item>
		<item>
		<title>小樽ミコマ ミコマ弁当</title>
		<link>http://rewse.jp/blog/p/4326</link>
		<comments>http://rewse.jp/blog/p/4326#comments</comments>
		<pubDate>Tue, 17 Jan 2012 12:29:08 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[food]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[product]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4326</guid>
		<description><![CDATA[<p>小田急百貨店新宿店で「<a href="http://www.odakyu-dept.co.jp/shinjuku/hokkaido/">冬の北海道物産展</a>」をやっていたので、小樽ミコマのミコマ弁当を購入。このボリュームだけど酢飯はすり切りしか入っておらず、山はカニのほぐし身で支えられている。</p>

<p>冬の北海道物産展は2012年1月17日から2012年1月31日まで。</p> <a href="http://rewse.jp/blog/p/4326">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><a href="http://www.flickr.com/photos/rewse/6713953273"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/otarumikomabento.jpg" alt="" title="小樽ミコマ ミコマ弁当" width="500" height="333" class="alignnone size-full wp-image-4327" /></a><span class="exif">Apple iPhone 4, 1/17, f/2.8, ISO500, 3.9mm (35mm), but might be post-producted</span></div>

<p>小田急百貨店新宿店で「<a href="http://www.odakyu-dept.co.jp/shinjuku/hokkaido/" class="broken_link" rel="nofollow">冬の北海道物産展</a>」をやっていたので、小樽ミコマのミコマ弁当を購入。このボリュームだけど酢飯はすり切りしか入っておらず、山はカニのほぐし身で支えられている。</p>

<p>冬の北海道物産展は2012年1月17日から2012年1月31日まで。</p>
<span id="more-4326"></span>

<table class="product">
<tr>
<th>店舗名</th>
<td>小樽ミコマ</td>
</tr>
<tr>
<th>商品</th>
<td>ミコマ弁当</td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.odakyu-dept.co.jp/shinjuku/">小田急百貨店新宿店</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2012-01-17</td>
</tr>
<tr>
<th>価格</th>
<td>1,680円</td>
</tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4326/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4326" />
	</item>
		<item>
		<title>KALITA セラミックミル C-90 レビュー</title>
		<link>http://rewse.jp/blog/p/4294</link>
		<comments>http://rewse.jp/blog/p/4294#comments</comments>
		<pubDate>Mon, 09 Jan 2012 10:45:07 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[food]]></category>
		<category><![CDATA[product]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4294</guid>
		<description><![CDATA[<p>お店でひいたコーヒーはどうも足が速くて苦手なもので、買おう買おうと思っていたコーヒー・ミルをついに購入した。<a href="http://www.kalita.co.jp/index.php?main_page=product_info&#038;cPath=1_31_41&#038;products_id=119">KALITA セラミックミル C-90</a> である。</p>

<p>粉の大きさが均一にならない回転羽式（プロペラ式）は味の評判が悪いので臼歯式に絞って検討し、KALITA セラミックミル C-90 か <a href="http://www.melitta.co.jp/personal/coffeemill/auto.html">Melitta パーフェクトタッチ II CG-5B</a> の2つで悩んでいたんだけど、会社の共有品としてCG-5Bを使っていて自宅でC-90を使っている<a href="https://twitter.com/#!/yukatan">岡田有花</a>さん（ゆかたん）がC-90をボクの家に持ってきてくれて実演レビューしてくれときの味がとても良かったので、ボクもC-90を選ぶことにした。カット式の <a href="http://www.kalita.co.jp/index.php?main_page=product_info&#038;cPath=1_31_41&#038;products_id=47">KALITA ナイスカットミル</a> が良いのは分かるんだけど、置き場所がないので……。ゆかたんもナイスカットミルが欲しいと言ってたけど。</p> <a href="http://rewse.jp/blog/p/4294">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="eyecatch imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/c-90.png" alt="" title="KALITA セラミックミル C-90" width="197" height="332" class="alignnone size-full wp-image-4296" /></div>

<p>お店でひいたコーヒーはどうも足が速くて苦手なもので、買おう買おうと思っていたコーヒー・ミルをついに購入した。<a href="http://www.kalita.co.jp/index.php?main_page=product_info&#038;cPath=1_31_41&#038;products_id=119">KALITA セラミックミル C-90</a> である。</p>

<p>粉の大きさが均一にならない回転羽式（プロペラ式）は味の評判が悪いので臼歯式に絞って検討し、KALITA セラミックミル C-90 か <a href="http://www.melitta.co.jp/personal/coffeemill/auto.html">Melitta パーフェクトタッチ II CG-5B</a> の2つで悩んでいたんだけど、会社の共有品としてCG-5Bを使っていて自宅でC-90を使っている<a href="https://twitter.com/#!/yukatan">岡田有花</a>さん（ゆかたん）がC-90をボクの家に持ってきてくれて実演レビューしてくれときの味がとても良かったので、ボクもC-90を選ぶことにした。カット式の <a href="http://www.kalita.co.jp/index.php?main_page=product_info&#038;cPath=1_31_41&#038;products_id=47">KALITA ナイスカットミル</a> が良いのは分かるんだけど、置き場所がないので……。ゆかたんもナイスカットミルが欲しいと言ってたけど。</p>

<p>セラミックミル C-90 でひくと雑味が出ずに味と香りが深まり、へたな喫茶店で飲むよりおいしいコーヒーが自宅で入れられるようになる。構造は単純なので100杯程度では壊れそうもないので、1杯あたりで考えたらお得な買い物だろう。ただ、油分の少ない豆だとC-90からコーヒー・ドリッパーに移すときに静電気で本体と周りに粉が飛び散りまくるのがちょっと気になるかなー。ハケが一応付属しているけど、水洗いしない限りはきれいにならないし。最後の1粒が飛び跳ねてなかなかひかれないこともあるけど、本体が小さくてそれほど重くないので軽く振れば問題ない。</p>
<span id="more-4294"></span>
<div class="amazon-as"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&#038;bc1=FFFFFF&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=333333&#038;lc1=004C99&#038;t=rewse-22&#038;o=9&#038;p=8&#038;l=as4&#038;m=amazon&#038;f=ifr&#038;ref=ss_til&#038;asins=B0002IS0IE" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>

<p>合わせてコーヒー・ドリッパーもゆかたんが自宅で使っている <a href="http://www.hario.co.jp/shop/products_spec.php?product=CFOD-02B">HARIO カフェオールドリッパー02 CFOD-02</a> に変更。ペーパーを使わずに、さわってもさらさらしているくらい目の細かいステンレス・メッシュでできているドリッパーで、コーヒー・オイルが抽出されるので味に深みが出る。ペーパーを使わないことでのメンテナンス性は一長一短で、掃除機の紙パック方式とサイクロン方式の違いに近いかも。ペーパー型だと入れた後にそのままポイ捨てすればすむけど、CFOD-02だと水を入れてすぐに生ゴミ受けにひっくり返す作業を何回かする必要がある。ただし、ペーパーを買いに行く手間やコーヒーを飲もうとしたら自宅にペーパーの在庫がない！なんてアクシデントが起こらない。</p>

<p>電気ケトルには <a href="http://www.t-fal.co.jp/All+Products/Consumer+electronics/kettles/Products/New+Vitesse+Plus/New_Vitesse_Plus.htm">T-fal ニューヴィテスプラス</a> を持っていたんだけど、この勢いで <a href="http://www.oanda.co.jp/russell-hobbs/7110jp.html">Russell Hobbs Cafe Kettle 7110JP</a> を購入。ステンレス製なので本体がかなり熱くなるけど、これは普通のヤカンも同じだと思えば気にならない。それよりもドリップしやすい注ぎ口と安定した取っ手の形状、そして何よりもデザインの美しさがいいね。</p>

<p>Cafe Kettle 7110JP に水をセットしてから、食品庫から豆を出して セラミックミル C-90 でひいて、カフェオールドリッパー02 CFOD-02 に移し替えて、粉だらけのC-90をハケでざっと清掃したくらいの時間で、7110JPが沸騰してから数分経っているので90度以下になっててちょうど良い感じ。こんなにおいしいならさっさと買っておけば良かったよ。</p>

<table class="product">
<tr>
<th>メーカー</th>
<td><a href="http://www.kalita.co.jp/">カリタ</a></td>
</tr>
<tr>
<th>製品</th>
<td><a href="http://www.kalita.co.jp/index.php?main_page=product_info&#038;cPath=1_31_41&#038;products_id=119">セラミックミル C-90</a></td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.amazon.co.jp/gp/product/B0002IS0IE/ref=as_li_ss_tl?ie=UTF8&#038;tag=rewse-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=B0002IS0IE">Amazon.co.jp</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2011-11-20</td>
</tr>
<tr>
<th>価格</th>
<td>7,454円</td>
</tr>
</table>

<table class="product">
<tr>
<th>メーカー</th>
<td><a href="http://www.hario.com/">ハリオグラス</a></td>
</tr>
<tr>
<th>製品</th>
<td><a href="http://www.hario.co.jp/shop/products_spec.php?product=CFOD-02B">カフェオールドリッパー02 CFOD-02</a></td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.amazon.co.jp/gp/product/B0040VIN18/ref=as_li_ss_tl?ie=UTF8&#038;tag=rewse-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=B0040VIN18">Amazon.co.jp</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2011-11-20</td>
</tr>
<tr>
<th>価格</th>
<td>1,344円</td>
</tr>
</table>

<table class="product">
<tr>
<th>メーカー</th>
<td><a href="http://www.spectrumbrands.com/">Spectrum Brands</a></td>
</tr>
<tr>
<th>製品</th>
<td><a href="http://www.oanda.co.jp/russell-hobbs/7110jp.html">Russell Hobbs Cafe Kettle 7110JP</a></td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.a-price.co.jp/">A-PRICE</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2011-11-20</td>
</tr>
<tr>
<th>価格</th>
<td>7,410円</td>
</tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4294/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4294" />
	</item>
		<item>
		<title>平成二十四年 謹賀新年</title>
		<link>http://rewse.jp/blog/p/4287</link>
		<comments>http://rewse.jp/blog/p/4287#comments</comments>
		<pubDate>Thu, 05 Jan 2012 05:02:45 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[admin]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4287</guid>
		<description><![CDATA[<p>本年も複眼中心をよろしくお願い申し上げます。</p>

<p>紙の年賀状より早く公開するのもあれかなと思っていたら、こんなタイミングでの公開となりました。今年こそは元旦に年賀状が届くように準備するぞ!</p> <a href="http://rewse.jp/blog/p/4287">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2012/01/newyear2012.png" alt="" title="平成二十四年 謹賀新年" width="500" height="334" class="alignnone size-full wp-image-4288" /></div>

<p>本年も複眼中心をよろしくお願い申し上げます。</p>

<p>紙の年賀状が届くのより早く公開するのもあれかなと思っていたら、こんなタイミングでの公開となりました。今年こそは元旦に年賀状が届くように準備するぞ！</p>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4287/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4287" />
	</item>
		<item>
		<title>明治神宮外苑 いちょう並木</title>
		<link>http://rewse.jp/blog/p/4263</link>
		<comments>http://rewse.jp/blog/p/4263#comments</comments>
		<pubDate>Sat, 10 Dec 2011 13:02:25 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[photo]]></category>
		<category><![CDATA[venue]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4263</guid>
		<description><![CDATA[<p>会社から歩いてすぐのところに<a href="http://www.meijijingugaien.jp/">明治神宮外苑</a>のいちょう並木があるので、いちょう祭りの屋台でランチを取った。2011年のいちょう祭りは12月11日まで。</p> <a href="http://rewse.jp/blog/p/4263">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><a href="http://www.flickr.com/photos/rewse/6475079395"><img src="http://rewse.jp/blog/rsrc/uploads/2011/12/lineofgingkos.jpg" alt="" title="明治神宮外苑 いちょう並木" width="500" height="500" class="alignnone size-full wp-image-4264" /></a><span class="exif">Apple iPhone 4, Instagram</span></div>

<p>会社から歩いてすぐのところに<a href="http://www.meijijingugaien.jp/">明治神宮外苑</a>のいちょう並木があるので、いちょう祭りの屋台でランチを取った。2011年のいちょう祭りは12月11日まで。</p>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4263/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4263" />
	</item>
		<item>
		<title>WordPressチューニング: WP Super Cache 導入</title>
		<link>http://rewse.jp/blog/p/4218</link>
		<comments>http://rewse.jp/blog/p/4218#comments</comments>
		<pubDate>Wed, 30 Nov 2011 05:31:50 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[trouble]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4218</guid>
		<description><![CDATA[<p><a href="http://rewse.jp/blog/p/4213" title="複眼中心: WordPressチューニング: APC導入">前回の記事</a>で<a href="http://pecl.php.net/package/APC">APC</a> (Alternative PHP Cache) を導入したものの、パフォーマンス・チューニングの目標値にまだ達していないので、<a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> も導入する。</p>

<p>WordPressのページ・キャッシュには WP Super Cache のほかにも <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> も有名だが、<a href="http://tokkono.cute.coocan.jp/blog/slow/index.php/wordpress/comparison-and-selection-of-wordpress-cache-plugin/">ゆっくりと…: WordPressキャッシュ系プラグインの比較とサイトに適した選び方</a> によるとボクのサイトには WP Super Cache のほうが良さそうだし、いろいろなキャッシュを同時に使うと古いデータがどこでキャッシュされているのかなどのデバッグが難しいので、まずはシンプルな WP Super Cache を試し、それでも目標に達せない場合 W3 Total Cache を検討することにした。</p>

<p>ページ・キャッシュを導入するに当たって気になるのは、左ペインにある「最近の人気記事」が正しくカウントされるかどうかだ。キャッシュから読み込むことで「最近の人気記事」のランキングがリアルタイムに更新されないことは気にならないが、キャッシュから読み込んだ場合にはカウントされないとなると、このウィジェットの意味をなさない。ありがいたいことに、ボクの使っている <a href="http://wordpress.org/extend/plugins/wordpress-popular-posts/changelog/">WordPress Populars Posts のChangelog</a>の2.0.0に、Ajaxを使用することで WP Super Cache などのページ・キャッシュに対応したと書いてあるので問題なさそうだ。</p> <a href="http://rewse.jp/blog/p/4218">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2011/05/wordpress.png" alt="" title="WordPress" width="500" height="310" class="alignnone size-full wp-image-2359" /></div>

<p><a href="http://rewse.jp/blog/p/4213" title="複眼中心: WordPressチューニング: APC導入">前回の記事</a>で<a href="http://pecl.php.net/package/APC">APC</a> (Alternative PHP Cache) を導入したものの、パフォーマンス・チューニングの目標値にまだ達していないので、<a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> も導入する。</p>

<p>WordPressのページ・キャッシュには WP Super Cache のほかにも <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> も有名だが、<a href="http://tokkono.cute.coocan.jp/blog/slow/index.php/wordpress/comparison-and-selection-of-wordpress-cache-plugin/">ゆっくりと…: WordPressキャッシュ系プラグインの比較とサイトに適した選び方</a> によるとボクのサイトには WP Super Cache のほうが良さそうだし、いろいろなキャッシュを同時に使うと古いデータがどこでキャッシュされているのかなどのデバッグが難しいので、まずはシンプルな WP Super Cache を試し、それでも目標に達せない場合 W3 Total Cache を検討することにした。</p>

<p>ページ・キャッシュを導入するに当たって気になるのは、左ペインにある「最近の人気記事」が正しくカウントされるかどうかだ。キャッシュから読み込むことで「最近の人気記事」のランキングがリアルタイムに更新されないことは気にならないが、キャッシュから読み込んだ場合にはカウントされないとなると、このウィジェットの意味をなさない。ありがいたいことに、ボクの使っている <a href="http://wordpress.org/extend/plugins/wordpress-popular-posts/changelog/">WordPress Populars Posts のChangelog</a>の2.0.0に、Ajaxを使用することで WP Super Cache などのページ・キャッシュに対応したと書いてあるので問題なさそうだ。</p>
<span id="more-4218"></span>
<p>WP Super Cache の設定は<a href="http://wordpress.org/extend/plugins/wp-super-cache/">Description</a> の Recommend Settings を参考にして、以下のものをオンにした。</p>

<ul>
  <li>キャッシュファイルの提供にPHPを利用する</li>
  <li>ページを圧縮し、訪問者により速くページを供給する</li>
  <li>304 Not Modified ブラウザーキャッシング</li>
  <li>既知のユーザー向けにはキャッシュしない</li>
  <li>キャッシュリビルド</li>
  <li>モバイル機器サポート</li>
  <li>追加のホームページチェック</li>
  <li>除外するユーザーエージェント: （なし）</li>
  <li>プリロード:
    <ul>
      <li>1400分毎にリフレッシュ</li>
      <li>520件の投稿をプリロード</li>
      <li>プリロードモード</li>
    </ul>
  </li>
</ul>

<p>ログインしていると（既知のユーザーだと）キャッシュされないのは編集作業には適しているけど、このままでは WP Super Cache が効いているかどうか分からないので、WordPressから一度ログアウトしよう。メインのWebブラウザーでログインして WP Super Cache の設定を行い、別のWebブラウザーでログインせずにページを表示すると作業しやすいだろう。WordPressのそれぞれのページのソースを表示して、最後に以下のような記述があり、再読込みしても日時が変わらなければ WP Super Cache は正しく動いている。</p>

<pre class="brush: xml; title: ; notranslate">&amp;amp;lt;!-- Dynamic page generated in 1.243 seconds. --&amp;amp;gt;
&amp;amp;lt;!-- Cached page generated by WP-Super-Cache on 2011-11-01 18:41:25 --&amp;amp;gt;
&amp;amp;lt;!-- Compression = gzip --&amp;amp;gt;</pre>

<p>ところが、ボクの環境では、個別投稿ページは問題なくキャッシュされるものの、http://rewse.jp/blog/ は再読込みするたびに日時が変わる、つまり再読込みのたびにキャッシュを再作成してキャッシュから読み込まないという問題が起きた。これは WP Super Cache のタブ「簡易」にあるキャッシュテスターを使うと、以下のように表示されることからも分かる。</p>

<pre class="brush: plain; title: ; notranslate">キャッシュを準備するために http://rewse.jp/blog/ を取得: OK
http://rewse.jp/blog/ の最初のコピーを取得中: OK (1.html)
http://rewse.jp/blog/ の二つめのコピーを取得中: OK (2.html)
ページ 1: 2011-11-01 18:41:25
ページ 2: 2011-11-01 18:41:27
ページがマッチしません ! タイムスタンプが違うか見つかりません !</pre>

<p>ソースコードを追ってみると、この問題は WP Super Cache 0.9.9.9 のバグであることが分かったので、<a href="http://wordpress.org/support/topic/plugin-wp-super-cache-one-of-the-root-causes-of-the-timestamps-difference" title="WordPress: Support: [Plugin: WP Super Cache] One of the root causes of the timestamps difference">フォーラムで報告しておいた</a>。具体的には、WordPressの「設定 &gt; 一般 &gt; WordPressのアドレス (URL)」にディレクトリが含まれており、「設定 &gt; パーマリンク設定 &gt; 一般的な設定」が /（スラッシュ）で終わらないときに起きる。ボクの場合は以下のようになっていたのでこのバグを踏んだ。</p>

<table>
  <tr>
    <th>WordPressのアドレス (URL)</th>
    <td><code>http://rewse.jp/blog</code></td>
  </tr>
  <tr>
    <th>パーマリンク設定</th>
    <td><code>/p/%post_id%</code></td>
  </tr>
</table>

<p>ボクの環境では手っ取り早く以下のように直しているが、0.9.9.9以降のバージョンで開発者がきれいに直してくれることだろう。</p>

<pre class="brush: php; first-line: 159; highlight: [161,162]; title: plugins/wp-super-cache/wp-cache-phase1.php; notranslate">if (
  (
    //$wp_cache_request_uri == '/' ||
    $wp_cache_request_uri == '/blog/' ||
    ( $wp_cache_slash_check &amp;amp;amp;&amp;amp;amp; substr( $wp_cache_request_uri, -1 ) == '/' ) ||
    ( $wp_cache_slash_check == 0 &amp;amp;amp;&amp;amp;amp; substr( $wp_cache_request_uri, -1 ) != '/' )
  ) &amp;amp;amp;&amp;amp;amp;
  ( wp_cache_get_cookies_values() == '' &amp;amp;amp;&amp;amp;amp; empty( $_GET ) &amp;amp;amp;&amp;amp;amp; $serving_supercache ) )</pre>

<p>この修正により、キャッシュテスターも以下のような表示に変わった。</p>

<pre class="brush: plain; title: ; notranslate">キャッシュを準備するために http://rewse.jp/blog/ を取得: OK
http://rewse.jp/blog/ の最初のコピーを取得中: OK (1.html)
http://rewse.jp/blog/ の二つめのコピーを取得中: OK (2.html)
ページ 1: 2011-11-01 18:41:25
ページ 2: 2011-11-01 18:41:25
両方のページのタイムスタンプがマッチしました !</pre>

<p>また、キャッシュから返されている http://rewse.jp/blog/p/4165 にアクセスするたびに以下のSQLの結果が1ずつ増えるので、WordPress Populars Posts が正しく動いてるかも確認できた。なお、WordPress Populars Posts はログインしているユーザーのアクセスはそもそもカウントしないので、ログアウトしてから試す必要がある。</p>

<pre class="brush: sql; title: ; notranslate">SELECT pageviews FROM wp_popularpostsdata WHERE postid = 4165;</pre>

<p>それでは WP Super Cache によってどれだけ性能向上したかabを実行してみよう。</p>

<pre class="screen">[root@oscar ~]# ab -c 2 -n 4000 http://rewse.jp/blog/
This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking rewse.jp (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Completed 4000 requests
Finished 4000 requests


Server Software:        Apache
Server Hostname:        rewse.jp
Server Port:            80

Document Path:          /blog/
Document Length:        64051 bytes

Concurrency Level:      2
Time taken for tests:   39.813 seconds
Complete requests:      4000
Failed requests:        0
Write errors:           0
Total transferred:      257536000 bytes
HTML transferred:       256204000 bytes
Requests per second:    100.47 [#/sec] (mean)
Time per request:       19.907 [ms] (mean)
Time per request:       9.953 [ms] (mean, across all concurrent requests)
Transfer rate:          6317.03 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    1   0.8      1      22
Processing:     9   18   5.9     18     123
Waiting:        6   11   4.6     11     114
Total:         10   20   6.0     19     123

Percentage of the requests served within a certain time (ms)
  50%     19
  66%     20
  75%     20
  80%     20
  90%     22
  95%     25
  98%     34
  99%     46
 100%    123 (longest request)</pre>

<p>チューニング前の Requests per second が0.56#/secだったものが100.47#/secに達した。目標の20#/secも超えたので、これにて今回のチューニングは完了とする。</p>

<table>
  <tr>
    <th>チューニング内容</td>
    <td>#/sec</td>
    <td>倍率</td>
  </tr>
  <tr>
    <th>未チューニング</td>
    <td>0.56</td>
    <td>1</td>
  </tr>
  <tr>
    <th>APC導入</td>
    <td>0.92</td>
    <td>1.64</td>
  </tr>
  <tr>
    <th>WP Super Cache 導入</td>
    <td>100.47</td>
    <td>179.41</td>
  </tr>
  <tr>
    <th>参考: 静的ページ</td>
    <td>204.13</td>
    <td>364.52</td>
  </tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4218/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4218" />
	</item>
		<item>
		<title>WordPressチューニング: APC導入</title>
		<link>http://rewse.jp/blog/p/4213</link>
		<comments>http://rewse.jp/blog/p/4213#comments</comments>
		<pubDate>Wed, 30 Nov 2011 05:20:09 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4213</guid>
		<description><![CDATA[<p><a href="http://rewse.jp/blog/p/4192" title="複眼中心: WordPressチューニング: ボトルネックの調査">前回の記事</a>でボクのブログが遅い理由はPHPであるところまでは切り分けできた。<a href="http://ja.wordpress.org/">WordPress</a>のキャッシュ・プラグインを使うのがすぐに思いつくけど、自宅サーバー監視に使っている<a href="http://www.zabbix.com/">Zabbix</a>もPHPアプリケーションで、こちらの速度もちょっと気になっていたので、まずはすべてのPHPアプリケーションに効果がある<a href="http://pecl.php.net/package/APC">APC</a> (Alternative PHP Cache) を導入することにした。APCはアクセスのたびにPHPコードをコンパイルするのではなく、その中間コードをキャッシュ / 最適化することで高速にしている。</p>

<p>以下では <a href="http://www.centos.org/">CentOS</a> 5.7 を使用しているが、<a href="http://www.jp.redhat.com/rhel/">Red Hat Enterprise Linux</a> (RHEL) / <a href="http://www.oracle.com/jp/technologies/linux/">Oracle Linux</a> (OL) / <a href="http://www.scientificlinux.org/">Scientific Linux</a> (SL) でも同様だろう。PHPはCentOSに含まれるパッケージではなく、<a href="http://iuscommunity.org/">IUS Community Project</a> のphp53u.rpmを使用している。php53uのインストールについては <a href="http://rewse.jp/blog/p/3467">複眼中心: CentOS 5.6 で PHP 5.3.6 にアップグレード</a> を参照してほしい。</p>

<p>IUS Community Project もAPCのパッケージを提供しているので、Yumから簡単にインストールできる。IUSを使っていない場合のパッケージ名は<code>php-pecl-apc</code>になる。</p> <a href="http://rewse.jp/blog/p/4213">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2011/05/wordpress.png" alt="" title="WordPress" width="500" height="310" class="alignnone size-full wp-image-2359" /></div>

<p><a href="http://rewse.jp/blog/p/4192" title="複眼中心: WordPressチューニング: ボトルネックの調査">前回の記事</a>でボクのブログが遅い理由はPHPであるところまでは切り分けできた。<a href="http://ja.wordpress.org/">WordPress</a>のキャッシュ・プラグインを使うのがすぐに思いつくけど、自宅サーバー監視に使っている<a href="http://www.zabbix.com/">Zabbix</a>もPHPアプリケーションで、こちらの速度もちょっと気になっていたので、まずはすべてのPHPアプリケーションに効果がある<a href="http://pecl.php.net/package/APC">APC</a> (Alternative PHP Cache) を導入することにした。APCはアクセスのたびにPHPコードをコンパイルするのではなく、その中間コードをキャッシュ / 最適化することで高速にしている。</p>

<p>以下では <a href="http://www.centos.org/">CentOS</a> 5.7 を使用しているが、<a href="http://www.jp.redhat.com/rhel/">Red Hat Enterprise Linux</a> (RHEL) / <a href="http://www.oracle.com/jp/technologies/linux/">Oracle Linux</a> (OL) / <a href="http://www.scientificlinux.org/">Scientific Linux</a> (SL) でも同様だろう。PHPはCentOSに含まれるパッケージではなく、<a href="http://iuscommunity.org/">IUS Community Project</a> のphp53u.rpmを使用している。php53uのインストールについては <a href="http://rewse.jp/blog/p/3467">複眼中心: CentOS 5.6 で PHP 5.3.6 にアップグレード</a> を参照してほしい。</p>

<p>IUS Community Project もAPCのパッケージを提供しているので、Yumから簡単にインストールできる。IUSを使っていない場合のパッケージ名は<code>php-pecl-apc</code>になる。</p>
<span id="more-4213"></span>
<pre class="screen">[root@xray ~]# yum install php53u-pecl-apc
......
================================================================================
 Package                Arch          Version                  Repository  Size
================================================================================
Installing:
 php53u-pecl-apc        x86_64        3.1.9-4.ius.el5          ius        109 k
Installing for dependencies:
 php53u-pear            noarch        1:1.9.4-3.ius.el5        ius        425 k
...... </pre>

<p>httpdを再起動するとAPCモジュールが読み込まれる。</p>

<pre class="screen">[root@xray ~]# service httpd restart</pre>

<p>APCモジュールが読み込まれたかどうかは<code>phpinfo()</code>でも分かるが、APCには監視画面があるので、それを使ってみよう。</p>

<pre class="screen">[root@xray ~]# rpm -ql php53u-pecl-apc | grep apc.php
/usr/share/doc/php53u-pecl-apc-3.1.9/apc.php
[root@xray ~]# cp -a /usr/share/doc/php53u-pecl-apc-3.1.9/apc.php /var/www/html/apc.php</pre>

<p>http://<var>hostname</var>/apc.php にWebブラウザーからアクセスすると、以下のような監視画面が表示される。右側のグラフが表示されない場合はphp53u-gd.rpm (php-gd.rpm) をインストールしよう。</p>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/apc.png" alt="" title="APC" width="610" height="407" class="alignnone size-full wp-image-4215" /></div>

<p>WordPressで何枚かのページを見てから監視画面のボタン「Refresh Data」を押すと Cached Files の値が増えており、APCがキャッシュしていることが分かる。</p>

<p>System Cache Entries のファイル・パスと User Cache Entries はログインしないと表示されないので、ログイン用ユーザーを設定しよう。apc.phpと同じディレクトリに以下のようなapc.conf.phpを作成し、<code>ADMIN_USERNAME</code>と<code>ADMIN_PASSWORD</code>を好きなもに設定する。</p>

<pre class="brush: php; title: /var/www/html/apc.conf.php; notranslate">&lt;?php
defaults('ADMIN_USERNAME','apc');
defaults('ADMIN_PASSWORD','password');
?&gt;</pre>

<p>ただ、このままでは一部のページは見られないものの情報の多くが誰でも見えてしまうため、ボクはBASIC認証を別にかけている。apc.php内の認証を使わない場合は以下のように設定する。</p>

<pre class="brush: php; title: /var/www/html/apc.conf.php; notranslate">&lt;?php
defaults('USE_AUTHENTICATION',0);
?&gt;</pre>

<p>監視画面をしばらく見てると Cache full count の値が増えていくかもしれない。これは割り当てたキャッシュ容量がすべて使われたために、キャッシュが一度すべて解放された回数を示す。つまり、この値が頻繁に増えるということはキャッシュしている意味がないので、そのような場合は<code>apc.shm_size</code>を増やそう。ボクのWordPress環境では最大で50MBくらいがキャッシュされるので、64MBに設定することで Cache full count は常にゼロになっている。</p>

<pre class="brush: plain; first-line: 21; highlight: [23,24]; title: /etc/php.d/apc.ini; notranslate">
;  The size of each shared memory segment in MB. By default,
;  some systems (including most BSD variants) have very low limits on the size of a shared memory segment.
;apc.shm_size=32M
apc.shm_size=64M</pre>

<p>APCによってどれだけ性能向上したかabを実行してみよう。APC導入前の Requests per second が0.56#/secだったので、0.92#/secということは1.5倍程度の性能向上が実現できたことになる。</p>

<pre class="screen">[root@oscar ~]# ab -c 2 -n 40 http://rewse.jp/blog/
This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking rewse.jp (be patient).....done


Server Software:        Apache
Server Hostname:        rewse.jp
Server Port:            80

Document Path:          /blog/
Document Length:        63908 bytes

Concurrency Level:      2
Time taken for tests:   43.320 seconds
Complete requests:      40
Failed requests:        0
Write errors:           0
Total transferred:      2564720 bytes
HTML transferred:       2556320 bytes
Requests per second:    0.92 [#/sec] (mean)
Time per request:       2166.016 [ms] (mean)
Time per request:       1083.008 [ms] (mean, across all concurrent requests)
Transfer rate:          57.82 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    1   1.4      1      10
Processing:  1647 2156 275.8   2122    2764
Waiting:      929 1301 242.5   1307    1732
Total:       1648 2158 275.7   2123    2765

Percentage of the requests served within a certain time (ms)
  50%   2123
  66%   2238
  75%   2368
  80%   2396
  90%   2570
  95%   2682
  98%   2765
  99%   2765
 100%   2765 (longest request)</pre>

<p>しかしまだこれでは目標の20#/secに達していないので、<a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> も導入することにした。つづきは <a href="http://rewse.jp/blog/p/4213">複眼中心: WordPressチューニング: WP Super Cache 導入</a> で。</p>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4213/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4213" />
	</item>
		<item>
		<title>WordPressチューニング: ボトルネックの調査</title>
		<link>http://rewse.jp/blog/p/4192</link>
		<comments>http://rewse.jp/blog/p/4192#comments</comments>
		<pubDate>Wed, 30 Nov 2011 05:16:41 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4192</guid>
		<description><![CDATA[<p>1カ月ぶりにブログを更新したら、ページ表示の遅さが気になってしまったので、今まで何もしてこなかったWordPressのパフォーマンス・チューニングを行うことにした。</p>

<p>WordPressチューニングの情報はWebにいろいろあるけれど、ほとんどが「この設定をこうしたらこんなに速くなった！」みたいな話ばかりで、パフォーマンス・エンジニアの端くれとしては「なんでそこがボトルネックだと判断したの？」という視点がないが気になった。そこで、この記事では原因分析から評価まできちんと記しておこうと思う。ただ、Webアプリケーション・パフォーマンス・チューニングのプロではないので、その辺はお手柔らかに……。</p>

<p>以下ではHTTPサーバーに <a href="http://httpd.apache.org/">Apache HTTP Server</a> 2.2.3 + <a href="http://www.centos.org/">CentOS</a> 5.7、データーベース・サーバーに <a href="http://www-jp.mysql.com/products/community/">MySQL Community Edition</a> 5.1.52 + <a href="http://www.scientificlinux.org/">Scientific Linux</a> 6.1 を使っているが、その他の環境でも応用できるだろう。</p>

<p>まず、どこで時間がかかっているのかの切り分けを行おう。<a href="http://www.google.co.jp/chrome/">Google Chrome</a> 15 のメニュー「ツール &#62; デベロッパー ツール」を開き、Networkタブを表示したら、Shiftキーを押しながら再読み込みボタンを押してWebブラウザーのキャッシュを使わずに再読み込みする。何度か試してみると4秒弱という結果が最頻値のようなので、以下の結果で分析することにした。</p> <a href="http://rewse.jp/blog/p/4192">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2011/05/wordpress.png" alt="" title="WordPress" width="500" height="310" class="alignnone size-full wp-image-2359" /></div>

<p>1カ月ぶりにブログを更新したら、ページ表示の遅さが気になってしまったので、今まで何もしてこなかったWordPressのパフォーマンス・チューニングを行うことにした。</p>

<p>WordPressチューニングの情報はWebにいろいろあるけれど、ほとんどが「この設定をこうしたらこんなに速くなった！」みたいな話ばかりで、パフォーマンス・エンジニアの端くれとしては「なんでそこがボトルネックだと判断したの？」という視点がないが気になった。そこで、この記事では原因分析から評価まできちんと記しておこうと思う。ただ、Webアプリケーション・パフォーマンス・チューニングのプロではないので、その辺はお手柔らかに……。</p>

<p>以下ではHTTPサーバーに <a href="http://httpd.apache.org/">Apache HTTP Server</a> 2.2.3 + <a href="http://www.centos.org/">CentOS</a> 5.7、データーベース・サーバーに <a href="http://www-jp.mysql.com/products/community/">MySQL Community Edition</a> 5.1.52 + <a href="http://www.scientificlinux.org/">Scientific Linux</a> 6.1 を使っているが、その他の環境でも応用できるだろう。</p>

<p>まず、どこで時間がかかっているのかの切り分けを行おう。<a href="http://www.google.co.jp/chrome/">Google Chrome</a> 15 のメニュー「ツール &gt; デベロッパー ツール」を開き、Networkタブを表示したら、Shiftキーを押しながら再読み込みボタンを押してWebブラウザーのキャッシュを使わずに再読み込みする。何度か試してみると4秒弱という結果が最頻値のようなので、以下の結果で分析することにした。</p>
<span id="more-4192"></span>
<div class="imgholder-l"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/networkindexphp.png" alt="" title="index.phpの結果" width="610" height="407" class="alignnone size-full wp-image-4195" /></div>

<p>タイムラインを見ると、一番上のindex.php (/blog/) に1.83秒と最も時間がかかっている。特にindex.phpのwaitingが終わらないとそのほかのファイル読み込みも全く始まらないので、これが1.83秒もあるというのは何とかすべきだ。index.phpのwaitingに時間がかかっている理由は大きく分けると「ネットワークのレスポンスが悪い」「HTTPサーバーのレスポンスが悪い」「動的ページ生成が遅い」の3つが考えられるだろう。</p>

<p>とりあえず動的ページ生成が遅いのかどうかの切り分けのために、同じページの静的ページを作成する。Google Chrome のメニュー「名前を付けてページを保存&#8230;」でHTMLのみをtest.htmlとして保存し、動的に生成されるindex.phpの静的ページ版を作成する。このtest.htmlをindex.phpと同じ階層に置いて、今度はtest.htmlにWebブラウザーからアクセスしてみる。</p>

<div class="imgholder-l"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/networktesthtml.png" alt="" title="test.htmlの結果" width="610" height="407" class="alignnone size-full wp-image-4196" /></div>

<p>index.phpに比べてtest.htmlの読込みが圧倒的に速い。つまり、動的生成に時間がかかっているということになる。動的生成が遅い理由は「PHPが遅い」「MySQLが遅い」の2つが考えられるので、そのどちらであるかを切り分けることにした。index.phpのチューニングにターゲットを絞ったので、Google Chrome のデベロッパーツールではなく、ab (Apache HTTP server benchmark tool) をここからは使うことにする。abはhttpd.rpmに含まれており、同じネットワーク内の別サーバーから実行した。</p>

<p>今のところ同時実行性は気にしないので<code>-c</code> (concurrentcy) は小さめで、1分程度負荷がかかるように<code>-n</code> (requests) を調整してindex.phpに対して実行した。以下がその結果であるが、Requests per second が0.56#/secということで、1秒間に1ページも応答できていないという結果となった。</p>

<pre class="screen">[root@oscar ~]# ab -c 2 -n 40 http://rewse.jp/blog/
This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking rewse.jp (be patient).....done


Server Software:        Apache
Server Hostname:        rewse.jp
Server Port:            80

Document Path:          /blog/
Document Length:        63908 bytes

Concurrency Level:      2
Time taken for tests:   71.022 seconds
Complete requests:      40
Failed requests:        0
Write errors:           0
Total transferred:      2564720 bytes
HTML transferred:       2556320 bytes
Requests per second:    0.56 [#/sec] (mean)
Time per request:       3551.077 [ms] (mean)
Time per request:       1775.538 [ms] (mean, across all concurrent requests)
Transfer rate:          35.27 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    1   0.4      1       3
Processing:  2343 3523 794.2   3274    5342
Waiting:     1651 2518 644.6   2348    4603
Total:       2345 3524 794.1   3276    5343

Percentage of the requests served within a certain time (ms)
  50%   3276
  66%   3575
  75%   4090
  80%   4285
  90%   4888
  95%   5069
  98%   5343
  99%   5343
 100%   5343 (longest request)</pre>

<p>このときのHTTPサーバー上で実行したdstatとiostatの結果をグラフ化したものが以下だ。CPUが100%使用されている。</p>

<pre class="screen">[root@xray ~]# dstat --cpu --output cpu.csv 2
[root@xray ~]# iostat -x /dev/xvda 2 &gt; io.dat</pre>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/httpcpu.png" alt="" title="CPU使用率 | HTTPサーバー" width="500" height="326" class="alignnone size-full wp-image-4202" /></div>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/httpdisk.png" alt="" title="ディスク使用率 | HTTPサーバー" width="500" height="326" class="alignnone size-full wp-image-4203" /></div>

<p>同様にデーターベース・サーバー上で実行したdstatとiostatの結果をグラフ化したものが以下だ。このデータベースはWordPress専用ではないにもかかわらず、CPU / ディスクともほとんど負荷はかかっていない。</p>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/dbcpu.png" alt="" title="CPU使用率 | DBサーバー" width="500" height="326" class="alignnone size-full wp-image-4200" /></div>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/dbdisk.png" alt="" title="ディスク使用率 | DBサーバー" width="500" height="326" class="alignnone size-full wp-image-4201" /></div>

<p>データベースのワークロードはほぼSELECTなので、ロック待ちなどでDBサーバーのリソースが使えていない可能性は低いし、仮にそうであればHTTPサーバー側も待たされてリソースを使えないはずだろう。これによりボトルネックはMySQLではなく、PHPであると考えられる。ここから「PHPエンジン」「WordPressコード」のどちらが遅いのかを切り分けることもできるが、たとえばWordPressのコードをチューニングするとその後のメンテナンスが面倒なので、この2つは総合的に考えることにした。</p>

<p>合わせてtest.html（静的ページ）にも同様にabを実行しておく。そのままでは計測時間が短すぎたので<code>-n</code>を増やしている。test.htmlの Requests per second が204.13#/secなので、動的ページ生成を最大限までチューニングすればこの値になるということで、逆に言うと動的ページ生成のチューニングだけではこれより良い値にはならないということだ。よって、今回のチューニング目標はこれより1桁小さい20#/sec（現行の35.71倍）とした。</p>

<pre class="screen">[root@oscar ~]# ab -c 2 -n 4000 http://rewse.jp/blog/test.html
This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking rewse.jp (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Completed 4000 requests
Finished 4000 requests


Server Software:        Apache
Server Hostname:        rewse.jp
Server Port:            80

Document Path:          /blog/test.html
Document Length:        67699 bytes

Concurrency Level:      2
Time taken for tests:   19.595 seconds
Complete requests:      4000
Failed requests:        0
Write errors:           0
Total transferred:      272001800 bytes
HTML transferred:       270841510 bytes
Requests per second:    204.13 [#/sec] (mean)
Time per request:       9.798 [ms] (mean)
Time per request:       4.899 [ms] (mean, across all concurrent requests)
Transfer rate:          13555.52 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    1   0.9      1      28
Processing:     5    8   3.8      8      77
Waiting:        0    3   2.3      3      59
Total:          6   10   4.0      9      79

Percentage of the requests served within a certain time (ms)
  50%      9
  66%      9
  75%     10
  80%     10
  90%     11
  95%     12
  98%     17
  99%     26
 100%     79 (longest request)</pre>

<p>このような「ボトルネックの特定」と「ゴールの設定」はパフォーマンス・チューニングにとって非常に重要で、これがチューニングの半分である。<a href="http://rewse.jp/blog/p/4213" title="複眼中心: WordPressチューニング: APC導入">次回</a>は実際のチューニングの一環として、<a href="http://pecl.php.net/package/APC">APC</a> (Alternative PHP Cache)を導入する。</p>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4192/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4192" />
	</item>
		<item>
		<title>Panasonic UJ-260 内蔵BDXLスリム・ドライブ購入</title>
		<link>http://rewse.jp/blog/p/4165</link>
		<comments>http://rewse.jp/blog/p/4165#comments</comments>
		<pubDate>Mon, 21 Nov 2011 13:41:45 +0000</pubDate>
		<dc:creator>Tats Shibata</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[trouble]]></category>

		<guid isPermaLink="false">http://rewse.jp/blog/?p=4165</guid>
		<description><![CDATA[<p>内蔵BDXLスリム・ドライブ、<a href="http://panasonic.jp/">Panasonic</a> UJ-260 を購入した。UJ-260は1層/2層BD-R (BD-R SL/DL) 書込みに加えて4層BD-R BDXL (BD-R BDXL QL) 書込みにまで対応したスリム・ドライブだ。3層BD-R BDXL (BD-R BDXL TL) のメディアが1枚3,000円以上するどころか、4層BD-R BDXL にいたってはメディアが存在しないという時期尚早感はあるけど、BD-R BDXL メディアはBDXLドライブでないと読むことすらできないので、長く使うつもりならBDXLドライブにしておくのも悪くないだろう。</p>

<p>さて、そんなUJ-260をボクは <a href="http://www.owltech.co.jp/products/drive_case/ESOD/ESOD.html">Owltech Slim Drive Case for SATA OWL-ESODSAT(B)</a> に入れて外付けドライブと使用することにした。というのも、ボクの <a href="http://support.apple.com/kb/SP541?viewlocale=ja_JP">Apple MacBook Pro (13-inch, Mid 2009)</a> は <a href="http://www.toeimusen.co.jp/~th/category/bayAccessory.html">テクノハウス東映 SlimBay9.5SA-HDD.SA</a> を使ってSuperDriveをHDDにすでに換装してしまっているのでUJ-260を内蔵することができないのだが、外付けBDXLスリム・ドライブは13,000円以上するので、付属ソフトウェアがいらないのであればUJ-260とOWL-ESODSAT(B)を買ったほうが安いというわけだ。個人的には<a href="http://buffalo.jp/">Buffalo</a>や <a href="http://www.iodata.jp/">I-O DATA</a> などだとベアドライブの予想はできても確実ではないので、ベアドライブから組むほうが好きってのもある。</p> <a href="http://rewse.jp/blog/p/4165">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="imgholder eyecatch"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/UJ-240.png" alt="" title="Panasonic UJ-240" width="467" height="332" class="alignnone size-full wp-image-4166" /></div>

<p>内蔵BDXLスリム・ドライブ、<a href="http://panasonic.jp/">Panasonic</a> UJ-260 を購入した。UJ-260は1層/2層BD-R (BD-R SL/DL) 書込みに加えて4層BD-R BDXL (BD-R BDXL QL) 書込みにまで対応したスリム・ドライブだ。3層BD-R BDXL (BD-R BDXL TL) のメディアが1枚3,000円以上するどころか、4層BD-R BDXL にいたってはメディアが存在しないという時期尚早感はあるけど、BD-R BDXL メディアはBDXLドライブでないと読むことすらできないので、長く使うつもりならBDXLドライブにしておくのも悪くないだろう。</p>

<p>さて、そんなUJ-260をボクは <a href="http://www.owltech.co.jp/products/drive_case/ESOD/ESOD.html">Owltech Slim Drive Case for SATA OWL-ESODSAT(B)</a> に入れて外付けドライブと使用することにした。というのも、ボクの <a href="http://support.apple.com/kb/SP541?viewlocale=ja_JP">Apple MacBook Pro (13-inch, Mid 2009)</a> は <a href="http://www.toeimusen.co.jp/~th/category/bayAccessory.html">テクノハウス東映 SlimBay9.5SA-HDD.SA</a> を使ってSuperDriveをHDDにすでに換装してしまっているのでUJ-260を内蔵することができないのだが、外付けBDXLスリム・ドライブは13,000円以上するので、付属ソフトウェアがいらないのであればUJ-260とOWL-ESODSAT(B)を買ったほうが安いというわけだ。個人的には<a href="http://buffalo.jp/">Buffalo</a>や <a href="http://www.iodata.jp/">I-O DATA</a> などだとベアドライブの予想はできても確実ではないので、ベアドライブから組むほうが好きってのもある。</p>
<span id="more-4165"></span>
<div class="amazon-as"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&#038;bc1=FFFFFF&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=333333&#038;lc1=004C99&#038;t=rewse-22&#038;o=9&#038;p=8&#038;l=as4&#038;m=amazon&#038;f=ifr&#038;ref=ss_til&#038;asins=B0068XIDYI" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>

<p>とは言っても、BD-R BDXL どころかBD-Rを使う予定すらないのが現状。今までDVDやCDを読む必要があるときは <a href="http://buffalo.jp/products/catalog/item/d/dvm-rdm16u2/">Buffalo DVM-RDM16U2</a> という6年以上昔の外付けDVD±RWドライブを使っていたんだけど、妻の <a href="http://support.apple.com/kb/SP582?viewlocale=ja_JP">Apple MacBook Pro (15-inch, Mid 2010)</a> もSuperDriveをHDDに換装してしまったため、でかいDVM-RDM16U2を妻の机まで持って行くが面倒でポータブルDVD±RWドライブが欲しくなり、それなら価格差がそれほど大きくもないBDXLドライブを買ってしまおうかというのがことのいきさつである。</p>

<p>なお、Macで外付けドライブを使うと、Apple DVD プレーヤー が「初期化エラーが起きました。有効な DVD ドライブが見つかりませんでした。 [-70012]」というエラーで起動できず、外付けドライブのDVDを読みに行ってくれない。そのため /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback をバイナリ・エディターで修正する必要がある。具体的には <a href="http://ktmtt.com/diary/2010-dvd-apple-dvd.html">ktmtt: 外付けDVDドライブしか無い場合に、Apple DVDプレーヤーを使用する</a> を参考に、以下のように行った。</p>

<p>まずバイナリ・エディターの一つである<a href="http://www.suavetech.com/0xed/0xed.html">0xED</a>のメニュー「File &gt; Open by Path&#8230;」で「<code>/System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback</code>」を開く。開いたら、メニュー「Edit &gt; Find &gt; Find&#8230;」でFind「<code>internal</code>」、Replace「<code>external</code>」にしてボタン「Replace All」を押して、すべて置換する。置換できたらメニュー「File &gt; Save As&#8230;」でデスクトップなどに保存しよう。元の場所には権限の問題で上書き保存できない。</p>

<div class="imgholder"><img src="http://rewse.jp/blog/rsrc/uploads/2011/11/replaceall.png" alt="" title="Find in File" width="500" height="131" class="alignnone size-full wp-image-4172" /></div>

<p>所有者や権限を元ファイルと合わせたいので、ターミナルを使用して元ファイルを新ファイルで置き換えた。</p>

<pre class="screen">[tats@evian ~]$ cd /System/Library/Frameworks/DVDPlayback.framework/Versions/A
[tats@evian A]$ sudo mv ~/Desktop/DVDPlayback .
Password: <kbd>password</kbd>
[tats@evian A]$ sudo chown root:wheel DVDPlayback
[tats@evian A]$ sudo chmod 755 DVDPlayback
[tats@evian A]$ ls -l DVDPlayback
-rwxr-xr-x@ 1 root  wheel  4080800 11  1 16:24 DVDPlayback</pre>

<p>これによって Apple DVD プレーヤー が外付けドライブ内のDVDを再生できるようになる。</p>

<table class="product">
<tr>
<th>メーカー</th>
<td><a href="http://panasonic.jp/">パナソニック</a></td>
</tr>
<tr>
<th>製品</th>
<td>UJ-260</td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.1-s.jp/">PC One’s</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2011-11-12</td>
</tr>
<tr>
<th>価格</th>
<td>8,390円</td>
</tr>
</table>

<table class="product">
<tr>
<th>メーカー</th>
<td><a href="http://www.owltech.co.jp/">オウルテック</a></td>
</tr>
<tr>
<th>製品</th>
<td><a href="http://www.owltech.co.jp/products/drive_case/ESOD/ESOD.html">Slim Drive Case for SATA OWL-ESODSAT(B)</a></td>
</tr>
<tr>
<th>購入場所</th>
<td><a href="http://www.amazon.co.jp/">Amazon.co.jp</a></td>
</tr>
<tr>
<th>購入日</th>
<td>2011-11-13</td>
</tr>
<tr>
<th>価格</th>
<td>1,800円</td>
</tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://rewse.jp/blog/p/4165/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://rewse.jp/blog/p/4165" />
	</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.070 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-05 03:04:20 -->
<!-- Compression = gzip -->
