yumでrpmforgeリポジトリを使えるようにする

yumでrpmforgeリポジトリを使えるようにするためには、次のようにします。

[root ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm rpmforge-release-0.5.1-1.el5.rf.i386.rpm 警告: rpmforge-release-0.5.1-1.el5.rf.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6 準備中…########################################### [100%] 1:rpmforge-release########################################### [100%]

yumでepelリポジトリを使えるようにする

yumでepelリポジトリを使えるようにするためには、次のようにします。

[root ~]# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm を取得中 準備中…########################################### [100%] 1:epel-release########################################### [100%]

yumで標準リポジトリを優先化する

yumリポジトリとしては、CentOSの標準リポジトリの他に多数のリポジトリが存在します。パッケージアップデートの提供が非常に早かったり、提供するパッケージ数が多かったりと、その特徴は様々ですが、一般に複数のリポジトリを使用することが多いのではないでしょうか。

そこで検討しておきたいことが、CentOSの標準リポジトリと他のレポジトリの複数で提供されるパッケージに関しては、標準リポジトリのパッケージが優先されるように(上書きされないように)しておくことです。

そのために、yum-prioritiesパッケージをインストールします。

1.yum-prioritiesパッケージのインストール [root ~]# yum install yum-priorities Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * rpmforge: apt.sw.be * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies –> Running transaction check —> Package yum-priorities.noarch 0:1.1.16-14.el5.centos.1 set to be updated –> Finished Dependency 続きを読む »

WordPressへのページナビゲーションの導入

WordPressの表示画面にページナビゲーションを設置しようと思います。

そこで、プラグイン『WP-PageNavi』(バージョン 2.74)を導入します。

といっても実に簡単でした。WordPressの管理者ダッシュボードでプラグインのインストールを行うだけです。

当サイトのページナビゲーション(記事作成当時)は、インストールしたあと、設定を一カ所だけ変更したものです。

【設定変更箇所】

表示するページ数 5(デフォルト) ⇒ 20 省略表示するページ数 3(デフォルト) ⇒ 0

Keepalive関連ディレクティブの調整

Apache Http Server (記事作成時バージョン2.2.3)のKeepalive関連ディレクティブの調整(チューニングとまでは行きませんが)を行いたいと思います。 Keepalive関連ディレクティブとは次の3つです。

Keepalive ・・・ On/Off、Keepaliveを有効にするしないかの指定 MaxKeepAliveRequests ・・・ 接続が開始されてから切断するまでに受け付ける最大リクエスト数の指定 KeepAliveTimeout ・・・ 接続しているセッションからのリクエストが途絶えてから、切断するまでの待ち時間の指定

よくよく考えると、当然のようにkeepaliveを「On」にしがちですが、もう少し有効性やより効果的な設定を考えてみる必要があると思います。

1つのWebページを表示するためには、そのWebページのhtmlファイルとそこに表示する画像ファイルやCSSファイルなどを別途リクエストして、サーバから送ってもらう必要があります。それらのファイルが多い場合には、1つのWebページを表示するために、htmlファイル以外に数多くのリクエストを行うことになります。ちなみに、画像は想像以上に多く使っているものです。アイコンやら、ちょっとした枠線、背景画像などよく考えるとみんな画像を使っています。

その際に、Keepaliveを無効にしていると、ファイル一つ一つについて、接続と切断を繰り返さなくてはならなくなります。 Keepaliveを有効にしていると、例え1つのWebページの表示に複数ファイルをダウンロードする必要があるとしても、1つの接続内ですべてのファイル処理を完了させることができるようになります。

ただ、動的htmlファイルの場合は、phpやjavaなどのスクリプト(プログラム)によって、基本的に1つのhtmlファイルとして生成されていると思われます。各種スクリプトを別ファイルではなく、インライン編集するケースも多いと思います。もちろん、動的htmlでも前述の画像ファイルは相応に存在するわけで、リクエストの多少は大きく変わらないかも知れません。

問題は、動的htmlファイルの生成では、

静的htmlファイルの送信よりもサーバ負荷が掛かるということ 比較的大きなファイルになるケースが多いということ

などを考えると、動的htmlファイルの生成~送信の処理を早く終わらせ、接続を切る、というのがベターだと考えます。

このようなことから、私の考えとしては、大規模Webサイトであれば、Webサーバを動的ファイル用と静的ファイル用に分割構成にして(バーチャルホストを分割する方法でも良い)、それぞれ次のように設定を分けるのが良いのではないかと考えます。

動的ファイル ⇒ Keepalive Off 静的ファイル ⇒ Keepalive On ←画像ファイルはこちら

ただし、当サイトは小規模ですので、動的ファイル用と静的ファイル用に分割する必要性まではありませんので、限られたリソースを有効に利用し、かつ無駄を最小限に止める方策を考えたいと思います。

そこで、次のように考えてみました。

1.当サイトの場合、1つのWebページを表示するために、概ね40~50程度の画像ファイルが必要です。 よって、動的に生成された1つのhtmlファイルとそれらの画像ファイル数を合計して、1つの接続でリクエストするファイル数は最大50と考えて良さそうです。それらの一連のリクエスト処理は1つの接続で完了させるようにして(Keepalive ⇒ On)、最大リクエスト数を50程度(MaxKeepAliveRequests ⇒ 50)にすればよい。

2.1つのWebページをサーバが処理するのに概ね0.5~1.0秒、長くても2秒以内に完了していることを別途確認しているので、すべてのファイルリクエスト処理が終わってから、1~2秒程度後にはセッションを切断して良さそうだと判断できます(KeepAliveTimeout ⇒ 2)。

以上のことから、次のような設定で良さそうだと考えられます。

Keepalive On MaxKeepAliveRequests 50 KeepAliveTimeout 2 続きを読む »