アーカイブ:  « 2006年9月 | メイン | 2006年11月 »

2006年10月30日

AWS

Amazon Web Service 略してAWS。その肝となるBrowseNodeについて。

BrowseNodeはBrowseNode一覧からチェックできる。但し、新規サービスはここには表示されていない(インデックスが更新されていないため?)ので、以下を参照する。

スポーツ:14304371

ヘルス&ビューティー:160384011

ちなみにAmazonのタブのリンクにあるnodeパラメータをチェックすると分かります。

サーバーにおけるメモリに関する話題

サーバーはデスクトップマシンに比べ多くのメモリを利用しがちだ。とりわけWebサーバーなどは応答速度を速めるために、あらかじめプロセスを立ち上げた状態になっている(Webサーバー以外の多くの通常のプロセスの場合は呼び出されたらプロセスが起動する)ので、その分メモリを確保してしまう。その段階で、別のプロセス(たとえばDBの検索)などが発生すれば別途メモリを必要とする。メモリが足りなくなれば、LRUなどの方式によって不要なメモリを仮想メモリ(スワップ領域)に追い出す(ページアウト)。不要なはずだったアドレスにある情報を不幸にともりだす必要が出てくれば、実メモリに一度読み込んで(仮想メモリからは直接読み込めない)から(ページイン)処理する。仮想メモリは実メモリと違ってHDDなどの補助記憶装置なので、アクセスが非常に遅い。CPU処理はそれに比べると非常に早いので、どうしても処理待ちになってしまう。これがシステムを遅くする原因なのだ。

そうならないようにするためにはどうしたらよいか、または現在のシステム(Linux)の応答速度が遅い場合のボトルネックがどこにあるのかといったものを調査するポイントを列挙してあるサイトを見つけたので、参考にされたい。

CONFIG\SYSTEM が壊れているため Windows XP が起動できない

CONFIG\SYSTEM が壊れているため Windows XP が起動できないというエラーは良く起こるみたいです。その際に対応したことは以下のとおり。

Windows XP CD-ROM(Professional Editionでも可) で起動し、修復(R) を選択します。
回復コンソールを起動し、Windows にログオンします。
次のコマンドを実行します。

cd system32\config
'オリジナルファイルを念のためバックアップしておく
ren SYSTEM SYSTEM.bk
copy ..\..\repair\system SYSTEM
'上でファイルがありませんといわれたら以下を実行する

copy ..\..\repair\system.bak SYSTEM
exit

この結果、

Issas.exe システムエラー「このパスワードを更新しようとしたときに、リターン状況は現在のパスワードが正しくない状態の時に示されます。」

と表示されて起動できない場合には、systemファイル以外のdefault, sam, security, softwareについてもあわせてコピーします。

起動できた後でユーザープロファイルが消失している場合(デスクトップの状態がいつもと違う場合)には、以下の手順を試します。

・フォルダオプションの [表示] から「すべてのファイルとフォルダを有効にする」にチェックし、「保護されたオペレーティングシステムファイルを表示しない」のチェックを解除します。
・C:\System Volume Information \_restore{<GUID>} フォルダを開きます。

NTFS ドライブの場合、SYSTEM アカウントのみにアクセス権があるため、「Windows を再インストール後、元からあるファイルにアクセスできません」の手順で管理者にアクセス権を追加する必要があります。
・最新の RPx フォルダの下にある snapshot フォルダを開きます。(場合によっては最新のものも壊れている可能性があるので、ひとつ古いものを適用したほうが良い?)
・_REGISTORY_MACHINE_SYSTEM ファイルを Windows フォルダにコピーします。
・Windows XP を終了します。
・Windows XP CD-ROM で起動し、修復(R) を選択します。
・回復コンソールを起動し、Windows にログオンします。
・次のコマンドを実行します。

copy _REGISTRY_MACHINE_SYSTEM system32\config\SYSTEM
exit

これでもやはりIssas.exe システムエラーが発生する場合には、

・_REGISTRY_MACHINE_DEFAULT
・_REGISTRY_MACHINE_SAM
・_REGISTRY_MACHINE_SECURITY
・_REGISTRY_MACHINE_SOFTWARE
についても上記と同様にコピーをして再起動を試みます。

2006年10月28日

ROIを考える

システム運用の立場から考えた時にアクセス数が増えてくれば既存のシステムではまかないきれなくなるので、システム増強が必要となる。攻めの経営であればそこは稟議においてアクセス数増を説明することで簡単に通るわけだが、守りの経営の場合にはそうもいかない。ただただシステムにかかる運用費用を「コスト」と捕らえ、コスト増につながるようなことはしたくないというのがあるからだ。

そこで説明に使えるのが、ROIだ。これは設備投資したことに対する収益回収額というものであり、この設備を拡張すれば、これだけさらに利益を得られますよと経営に説明することが情報システム部に求められている。

2006年10月27日

RTX-1100

業務用エントリーモデルのルーターで、シスコやアライドテレシスのような高価なルーターは導入できないけれども、市販のルーターでは心もとない場合には、是非これをオススメしたい。設定変更はCUIででき、コマンド発行と同時に変更が効くので、システム停止が発生しない。また帯域制御もできるので、QoSを要求されるサービスでも利用できる。市販価格は7万円前後。

http://journal.mycom.co.jp/articles/2005/03/25/rtx1100/

見える化

J-SOXの流れを受けて、「見える化」という変な日本語が流行しそうな勢いだ。Y2K問題に続いてシステム業界全体で大きな変革の波が起こりそうなJ-SOXソリューションに対するSIの取り組みはどこも必死だ。

そもそも見える化は業務フローを明確化するという重要な取り組みにもかかわらず、多くの場合にはドキュメントが残っていないなど作業担当者に依存する俗人化といわれる要素が企業内に多いことが問題となっている。

俗人化してしまうと、ビジネス上の一番のリスクは従業員ということになってしまい、企業にとって健全とは到底いがたい。そこを俗人化しないようにするための方法が、見える化なのだろうと思う。

しかし一方で見える化は、J-SOX法の名のもとで監査法人対策というところに置き換わってしまっているケースも多い。この行き着く先は、メンテナンスされないドキュメントの山。これを整えるために数億円というお金を使う企業は間違いなく行き詰まると思う。

2006年10月26日

nrpe

nagiosをリモート管理するためのエージェントソフトnrpeについてのインストールメモ

まず、mysqlをチェックするためのライブラリが依存関係として存在するので、コンパイルエラーにならないようにするためインストールする。

yum install mysql-devel

次にnrpeの動作プラットフォームであるnagios-pluginをインストールする

tar zxvf nagios-plugins-1.4.4.tar.gz
cd nagios-plugins-1.4.4/
./configure
make
make install

次にnrpeをインストールして、環境設定を行う。

tar zxvf nrpe-1.9.tar.gz
cd nrpe-1.9/
./configure
make
make all

/usr/sbin/adduser nagios
cp src/nrpe /usr/local/nagios/libexec/
mkdir /usr/local/nagios/etc
cp nrpe.cfg /usr/local/nagios/etc/
chown nagios.nagios /usr/local/nagios/etc/nrpe.cfg


nrpe.cfgを変更する

vi /usr/local/nagios/etc/nrpe.cfg

allowed_hosts=127.0.0.1 ↓
#allowed_hosts=127.0.0.1 allowed_hosts=192.168.0.0/25

次にポート設定を行う

vi /etc/services

nrpe 5666/tcp # NRPE

を追加(5999で検索して、その上に追加すると良い)

そしてサービス立ち上げできるようにxinet.dを設定する

vi /etc/xinetd.d/nrpe

service nrpe
{
 flags          = REUSE
 log_on_failure    += USERID
 port          = 5666
 socket_type      = stream
 protocol        = tcp
 user          = nagios
 server         = /usr/local/nagios/libexec/nrpe
 server_args       = -c /usr/local/nagios/etc/nrpe.cfg --inetd
 type           = UNLISTED
 wait           = no
}
を追加する

/etc/init.d/xinetd restart

netstat -nl | grep 5666

で存在することを確認

サーバー側で

/usr/local/nagios/libexec/check_nrpe -H (リモートホストIP) -c check_load

などでチェックして正しく取得できることを確認する

nagiosで以下のとおり設定する

vi /usr/local/nagios/etc/hosts.cfg

にホストを追加

vi /usr/local/nagios/etc/services.cfg

にチェックするサービスを追加(LOADで調べて他のホストと同じにして)

2006年10月25日

文章の共有方法

Office文章を共有するには、共有という仕組みがアプリケーションにあるが、ネットワーク越しでの共有となると難しい。そこで考えられるのは、Googleが提供しているDocument & Spreadsheet Officeだ。

この方法はGoogleアカウントが必要なので、共有用のアカウントを

https://www.google.com/accounts/NewAccount?continue=http%3A%2F%2Fwww.google.co.jp%2F&hl=ja

からまず発行する。

次に

https://www.google.com/accounts/ServiceLogin?service=writely&passive=true&continue=http%3A%2F%2Fdocs.google.com%2F<mpl=WR_tmp_2_lfty&nui=1

にアクセスします(ここからは英語サイトだけど心配ありません)

右にログインする画面があるので、さっき発行したアカウントを使ってログインする

ログインしたら

New Document New Spreadsheet Upload

というメニューがあるので、New Spreadsheetというのを選択する。

そうするとExcelに似た画面が表示されるので、いつもと同じようにデータを入れる。

保存するときは、FileからSaveというのを選択するとファイル名を設定できるので、ファイル名を登録する。
そうするとログインするといつでも開ける(ファイルがインターネット上にある)ので、

みんなでアカウントを使いまわせば共有できる。日本語ももちろん使えます。

ちなみにExcelで読み込みさせたい(インターネット上からダウンロードしたい場合)には

FileからExport→.xlsを選択するとダウンロードできる。

いままで使っていたExcelファイルを使う場合には、

FileからImportを選ぶと取り込める。

英語だから使いにくいかもしれませんが、Excelになれていると割りと直感的に使えるかも??

2006年10月24日

nagios

稼動チェックツールを自作する手もあるのですが、作成したパターン分だけメールに悩まされて障害切り分け遅くなったり多重障害に陥るのもおかしな話です。

結構細かい設定までできてしまうのが、nagiosというソフトウエアで、導入している企業も実際あるようです。

http://www.atmarkit.co.jp/fnetwork/tokusyuu/22tool/02.html

ネットワーク監視ツールnagiosの特徴について
・一度障害を検出した後はステータスが変わらない限りはエラーメッセージが飛んでくることがない
・ネットワーク障害が発生した際にアプリケーション層のエラーメッセージが飛んでくることがない(切り分けが容易なのと、エラーが収束した後に大量のメッセージに悩まされることがありません)
・計画停止はあらかじめ登録しておくことでエラーが起こらないようにできる
・レポート機能を使って稼働率の算出をすることができる


インストールの際に利用した情報源は以下のとおり
http://cubic9.com/Nagios/
http://nagios.x-trans.jp/naija/index.php?%C6%FC%CB%DC%B8%EC%B2%BD
http://bal4u.dip.jp/mt/server/archives/2004/09/index.html (設定ファイルについては一番シンプルにまとまっていました)

zlib-devel, mysql-devel をインストールします
/usr/sbin/adduser nagios でユーザーを追加します
以下のコマンドを実行してダウンロード&コンパイル&インストールを行います

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-1.4.1.tar.gz
wget http://keihanna.dl.sourceforge.jp/nagios-jp/20198/nagios-1.4.1-ja.patch.gz
wget http://keihanna.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.4.tar.gz
tar zxvf nagios-1.4.1.tar.gz
cd nagios-1.4.1
gzip -dc ../nagios-1.4.1-ja.patch.gz | patch -p0
./configure
make all
make install
make install-init
make install-config
make install-commandmode

別途プラグインをインストールします。多くの場合インストールは必須になります。

wget http://nchc.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.5.tar.gz
tar zxvf nagios-plugins-1.4.5.tar.gz
cd nagios-plugins-1.4.5
./configure
make
make install

設定ファイルはhttp://bal4u.dip.jp/mt/server/archives/2004/09/nagios_1.htmlを見て設定します。

(追記)

nrpeがなければリモート資源をチェックすることができないのでリモート監視の場合には、インストールを行う。参考となるサイトは

http://anabuki.dip.jp/tips/nagios/nrpe.htm
http://tomo.ac/goodstream/nagios/nrpe.html

やってみたがVer.2.0では問題があるので、やはり1.9が無難そう。

Indy Library

Indy LibraryがWebサーバーに押しかけてきました。

行儀の悪いロボットで、総当りでアクセスしてくるみたいです。とりあえず403を返すように
mod_proxyでは

<Proxy *>
  deny from xxx.xxx.xxx.xxx
</Proxy>

クラスターでは
<Directory />
  deny from xxx.xxx.xxx.xxx
</Directory>

で指定して回避。

2006年10月23日

Googleの時差

Googleがクロールしてから検索結果に反映されるまでPageRank0で5日程度、またPageRank3で3日程度かかっているようだ。Sitemapでクロール頻度を変更できるようにはなっているものの、PageRankによってクロール結果の反映間隔が違うことは間違いなさそうだ。なので、SEO対策した結果のチェックを行う際には、このPageRankごとのクロール結果の反映間隔を念頭に置く必要がありそう。

Google Sitemap自動生成ツール

能動的にページの存在を通知することが出来るGoogle Sitemapだが、サイトマップファイルを作るのはシステムがない限り案外面倒かもしれない。そんなときに活躍するのが自動生成ツール。Googleからもリリースされているが、pythonのため、プログラムを動作させられる環境がなければ難しい。こんなサイトを見つけてみたので、プログラムを動作させられない人には使えるかもしれない。

pgpool-II

pgpool-IIなるものがリリースされていました。pgpoolでは2台までしか負荷分散できないという恐ろしい制約がありましたが、pgpool-IIではその制約もなくなり、pgpoolAdminというWebで設定可能なツールも用意されています。これは検証してみる価値はありそうですね。

http://pgpool.sraoss.jp/index.php

http://pgpool.projects.postgresql.org/pgpool-II/ja/

テスト環境がBladeSymphony (10 blade)っておそらく反則だと思います。そうそうこんな環境は用意できませんから。

2006年10月22日

人月の神話

「ソフトウエア開発プロジェクト遅れたからといって人員を増やせば、チームの規模は肥大化して内部コミュニケーションが指数関数的に複雑化し、プロジェクトがさらに遅れる」と指摘している本『人月の神話―狼人間を撃つ銀の弾はない』。実は1975年に出版されており、26年経った今でも同様のことが議論されているなんて言うのは驚きである。開発しているものはどんどん進化(?)しているが、そのやり方にはあまり進歩が見られないという、ソフトウェア工学の難しさでもある。

Blade Symphony

ブレードサーバーといえば、サーバーの高集積化が可能な反面、AC200Vが必要なので、古いデータセンターなどでは設置ができないという問題があったが、日立がリリースしたBlade SymphonyのBS320はAC100Vに対応しており、ブレードサーバーの選択肢がより一段と広がっている。

ただ、ブレードサーバーは各社で仕様がばらばらのようで、今後は共通化といった問題に取り組んでいけるのだろうか?→Blade.orgによる共通化の取り組み

(2006/11/23 追記)
ATCA(Advanced TCA)というハードウエア規格が出来ているようです。またMicro TCAという派生規格もあるようです。

システムの複雑さとソースコードの行数は指数関数的?

日経コンピューター9/4号より

Windows NT 400万行

Windows 95 1,500万行

Windows XP 3,500万行

Windows Vista 5,000万行

次期バージョンは1億行にも??下位互換をサポートしつづける以上はこの関係はある意味し方が無いのかもしれない。

2006年10月21日

アフィリエイト広告の光と影

アフィリエイト広告市場は年々成長を続け、雑誌の広告市場規模を上回るようになった。今思えば、アフィリエイト広告はメールマガジンが広まり始めた1999年くらいから脚光を浴び始め、高々7年で他の媒体をしのぐようになったわけだから、インターネットのパワーはすごいとしかいいようが無い。なぜアフィリエイト広告が脚光を浴びるかといえば、

・イニシャルコストが低い。(中小企業でも導入しやすい)

・コンバージョンが分かり、広告効果を測定しやすい。(どの広告から購買にいたったかをCookieによって追跡できる)

・コンバージョンした分だけ支払えば良いので、費用対効果が明確。(ただ一方で、広告予算が取りにくいといった問題点もあるようだが)

だろうと思われる。ただ一方で、CPC(クリック課金)を設けている広告では不正クリックの問題が絶えず付きまとい、アフィリエイトの場合においても、ポイントバックサイトを利用した不正コンバージョンが後を絶たない。アフィリエイト広告の健全な市場形成においては、ガイドラインが必要なのかもしれない。

IEEE

ネットワークなどの規格を定めるIEEE802を始めとしたネタ

802.1シリーズ

802.1D

スパニングツリー(STP)に関する規格。

802.1w
ラピッドスパニングツリー(RSTP)に関する規格。IEEE802.1Dの改良版。


802.3シリーズ
有線LANに関する標準規格

802.3

10BASE-5(同軸ケーブル)に関する規格。

802.3a
10BASE-2(同軸ケーブル)に関する規格。

802.3i
10BASE-X(カテゴリー3以上のUTPケーブル)に関する規格。

802.3u
100BASE-TX(カテゴリー5以上のUTPケーブル)に関する規格。

802.3z
1000BASE-SX, 1000BASE-LX(光ファイバケーブル)に関する規格。

802.3ab
1000BASE-TX(カテゴリー6以上のUTPケーブル)に関する規格。

802.3ad
bonding(リンクアグリゲーション)に関する規格。

802.3ae
10GBASE-SR, 10GBASE-SR(光ファイバケーブル)に関する規格。


802.11シリーズ
無線LANに関する標準規格

802.11a

5.2GHz帯を利用し、54Mbpsで通信可能な無線LAN規格。

802.11b
2.4GHz帯を利用し、11Mbpsで通信可能な無線LAN規格。

802.11e
無線LANにおけるQoSを実現するための規格。

802.11g
2.4GHz帯を利用し、54Mbpsで通信可能な無線LAN規格。

802.11n
(まだドラフト段階)MIMOを使った無線LAN技術。5.2GHz帯を利用し、100Mbpsで通信可能な無線LAN規格。


802.16シリーズ
WiMAXに関する規格

802.16e

モバイルWiMAXに関する規格。

Windows Vista

WPC TOKYO 2006ではMicrosoftが1/3ぐらいのスペースを使ってWindows Vista祭りとOffice2007祭りを開催していました。Office 2007ではリボンと呼ばれる新しいインターフェイスの提供とプレビュー機能の強化(フォントやサイズを選択がWYSIWYGに対応している)がされているようです。

Windows VistaはタスクバーやAlt+Tabでのアクティブウィンドウの切り替えがすべてプレビュー表示を伴うようになった(Windowsエアロ)こととWindowsキー+Tabによる3Dの切り替えのサポート、すべてのウィンドウでの検索バーの提供(インデックスサーチによる高速化)がサポートされている。全体的に視覚的になったものの、おそらく動作が重たい。

検証機をかなりの台数分置いてあったが、使っていくと幾分遅い。そしてうたい文句の検索の高速化については、ほんの一部がインデックス化されているだけで、それ以外の検索については・・・あまり期待できそうに無い。

2006年10月20日

CGI, mod_perl, FastCGIの違いについて・・

CGI(Common Gateway Interface)とPerlをWeb上で高速化するための手法について比較してみました。

CGI
Webサーバー(apacheに依存しない)がCGIを介してプログラム(perlに依存しない)を実行する。

mod_perl
ApacheにPerlの実行エンジンを組み入れてperlプログラムを実行する。

FastCGI
Webサーバー(apacheに依存しない)がFastCGIとSocket通信をしてプログラム(perlに依存しない)を実行する。FastCGIがサービス待ち受けしている点が、CGIと違う。

参考サイト:

CGIスクリプトは何で書く?FastCGIで10倍高速化
lighttpd + FastCGI は mod_perl + Apache1.3 より1割ほど高速

システム監視のツール

システム監視コマンドには以下のものがある。

システムに関するもの
uptimeコマンド load averageを監視できる(load averageは待ち行列の数を示し、CPUのコアの数(通常は1, 最近のマルチスレッド方式のCPUなどは2)を超えると実行待ちになっているプロセスが存在することを示す)

freeコマンド メモリに関する情報を監視できる。Swapのusedが多いものは、メモリの増設によって速度向上が図れる可能性が高い状態。

topコマンド uptimeとfreeを同時にチェックし、プロセス状態についてもチェックできる。

vmstatコマンド メモリとI/Oに関する情報を取得できる。

sarコマンド システム状態を統合的にチェック
iostatコマンド I/Oに関する詳細な情報を取得できる。

ちなみにsar, iostatコマンドはsysstatパッケージで提供される

Apacheに関するものにmod_statusがある。

コネクション部分だけを見たい場合にはDirectory設定が / だった場合


http://(server-statusのパス)?auto&refresh=5

で表示できる

(追記)
システム負荷テストツールにJMeterがある。

チェックデジットが正しいかを調べる正規表現

JANコードには13桁のコードと短縮の8桁コードが存在するが、いずれもバーコードの読み込みエラーを防ぐためにチェックデジットが存在する。正しいJANコードかどうかを判定する正規表現をPHPで実装してみたのが次のコード。

function verifyCheckDigit($jan_code){
 return (preg_match('/^(?:(\d)(\d)(\d)(\d)(\d))?(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/', $jan_code, $arr_arg) && (
  (10 -
  (($arr_arg[2] + $arr_arg[4] + $arr_arg[6] + $arr_arg[8] + $arr_arg[10] + $arr_arg[12]) * 3 +
  $arr_arg[1] + $arr_arg[3] + $arr_arg[5] + $arr_arg[7] + $arr_arg[9] + $arr_arg[11]) % 10) % 10 == $arr_arg[13]
 ));
}

一応正規表現をベースにして処理が高速化できるよう最適化してあります。

2006年10月19日

Class::DBI::Replication

DBのレプリケーションをアプリケーション側で実施するperlのCPANモジュール。

DBの内容をマスターからスレーブに転送したりする機能は存在しないようだ。

はてなで使っているレプリケート機構に含まれているらしい。DBIなので、データベース依存しないところが評価できる。

ダウンロード

bounce mail

メールのあて先がなければ送信元にその旨を通知するエラーメールをbounce mailというが、これによってスパム認定を受けてしまう可能性があるということを知って、びっくりした。

これは本日行ってきたSecurity Solutions 2006で出展社の担当の方からお話いただいた内容である。

まず、スパム認定をしてもらうドメイン(たとえば、YahooとかMSNなどの大手ポータルやISPなど)をFromもしくはReturn-Pathに設定(詐称)して、Toをターゲットとする企業のドメイン(アカウントは存在しなさそうなもの)あてに大量に送信する。そうするとターゲット企業のメールサーバーはエラーメッセージをReturn-Pathに送信することになるから、Return-Pathに設定されたメールを管理するメールサーバーから見ると、ターゲット企業から大量のメールが来ることになるので、自動的にスパム認定が行われてしまうというようなものだ。

bounce mail自体は正常なメール配送の仕組みなので問題はない。問題なのは、スパムメールに対するエラーをそのままReturn-Pathに返してしまうことが問題なのだ。スパムメールフィルタリングを実施していない会社があれば、間違いなくターゲットにされ、実際の営業メール(販促用のメールなど)が届かないといったトラブルに悩むことになりそうだ。

2006年10月18日

webmin

webminをFedora Coreでインストールする際の記録です。

1.yumではインストールできないので、

wget http://jaist.dl.sourceforge.net/sourceforge/webadmin/webmin-1.260-1.noarch.rpm を実行しダウンロードします。

2.rpm -ivh webmin-1.260-1.noarch.rpm を実行し、インストールします。

3.vi /etc/webmin/miniserv.conf

allow=(許可したいIPアドレス)
ssl_redirect=0
を設定します。

4./etc/init.d/webmin start でサービスを開始し、起動できることを確認します。

5./sbin/chkconfig --level 35 webmin on
でサービスの登録を行います。

なお、ダウンロードするバージョンには脆弱性が含まれているので、すぐにアップデートしなければならない。

6.言語設定を変更します。設定はwebminタブの直下とWebmin 設定メニュー内の2箇所にあります。

7.Webminの設定内でSSLを暗号化するようにします。このときNet::SSLeayがインストールされるが、失敗する場合には、以下の方法で手動インストールする

perl -MCPAN -e shell
最初は質問されるが、全てEnterでOK。一部ダウンロード先を聞かれるので、Asia - Japanを選ぶ
install Net::SSLeay

NISサーバー

Network Infomation Serverといい、TCP/IP上で コンピュータの情報を共有するサービス。Windowsでも対応している。複数台のサーバーを管理する際に、アカウントなどは集中管理できるに越したことが無いわけだが、その際にはNISを使うと良い。これと似たようなものにLDAPがあるが、LDAPはどちらかというと同じ集中管理でもアドレス帳など個人情報を問い合わせするサービスであり、NISサーバーはNISクライアントからの(アカウント発効などの)アクションに対するサービス提供という意味で大きく異なる。

2006年10月17日

yesコマンド

同僚に教えてもらった面白いlinuxコマンドです。おそらくほとんどのLinuxシステムで利用できます。

ちなみにnoコマンドはないようですのであしからず。なぜこのようなコマンドができたのかは定かではありませんが、おそらく確認(たとえば削除しますか?という内容)を抑制できないコマンドに対してひたすら「y」を送りつづける必要があり、開発されたのではないかなと個人的に考えています。知っている方がいらっしゃれば是非コメントを頂きたいと思います。

phpAdsPlus

以前phpAdsNewについてご紹介しましたがphpAdsPlusなるものがSourceForgeにあったのでお知らせします。まだ使ってはいないんだけども、phpAdsNewで取り扱いできなかったFlashバナーなどが利用できるみたいです。ただ更新日が古いのが気になりますが・・・

2006年10月15日

バグると言う言葉の恐ろしさ

先ほどと同じ佐野裕さんの日記から。同じ体験が現職でもあります。社内の営業からこれバグってますよと気軽に言われて腹を立てたことがあります。システム屋さんにとってバグは天敵。バグがないように常に品質に注意しながらコーディングしている立場からすると、気安いバグ報告はいいような悪いような。そしてそれが仕様だった時にはなおさら・・・・。

RAID0+1とRAID10の違い

RAID0+1とRAID10に関して特に意識したことはなかったが、NASに関するソリューションを調べていたときに詳しく説明されていたので参考まで。RAIDの読み書きに関する関係は以下のとおりになるのだろうか?

・読み込み速度:RAID1 < RAID0, RAID5, RAID6, RAID10
・書き込み速度:RAID1・RAID6 < RAID5 < RAID10 = RAID0+1 < RAID0
・信頼性:RAID0(1台故障すると×) < RAID1, RAID0+1, RAID5(2台故障すると×) < RAID10(2台故障しても場合によっては○) < RAID6(3台故障すると×)

ストレージのお話

ハードディスクをはじめとしたストレージの面白い話がsanonosaさんのブログにかなり書いてあるのでまた時間があったときに読んでみよう。

ネットワークストレージ

ネットワークストレージは今とても熱い。NASは低価格だが拡張性に欠ける、一方でSANは拡張性は高いものの価格が非常に高い。今後、J-SOX法に対応するために、ログはすべて保存され、いつでも検索できる状態になければならないとするならば、管理者はどこにログがあるかを意識する必要がなくなるような状態が望ましい。しかしながら、ほとんどアクセスされないログが単位容量あたりの単価が高いストレージにあるのも変な話であり、アクセス頻度に応じて保存されるストレージが決定ならびに変更されるようなシステムが望ましいということになる。


DAS(Direct Attached Storage)
NAS(Network Attached Storage)
SAN(Storage Area Network)
 ・FC(Fibre)-SAN(光ファイバーケーブルで接続したSAN)
 ・IP-SAN(IP網で接続したSAN)
NASゲートウェイ(SANの利点とNASの利点をうまく統合)
iSCSI

(追記)
iSCSIの説明(株式会社サイバネテックの説明ページ)

Movable Typeの予約タグ

Movable Typeではかなり多くのタグが予約されている。カスタマイズする時にはこんな機能も、あんな機能もあったらいいなと思うわけですが、実はもうすでにあったりします。まずはこちらを参考にしてみてください。

ネットワークエンジニア試験

秋の情報技術者試験のネットワークに受験して来ました。場所はたまプラーザの國學院だったので割と近くて助かりました。

試験は午前、午後1は問題ないように思えたんですが、午後2はSANとネットワークの冗長化及びVLANに関するマニアックな問題が出て少しヤバ目でした。

昨年実績12.8%合格率の狭き門だけど、受かってると良いんですが…

ここでいままでの受験実績です。

2006年春 DB試験(場所不明) 午前:580 不合格
2005年秋 AP試験(早稲田大学) 午前:免除/午後Ⅰ:590 不合格
2005年春 DB試験(場所不明) 午前:600/午後Ⅰ:540 不合格
2005年秋 AP試験(場所不明) 午前:免除/午後Ⅰ:680/午後Ⅱ:C 不合格

どんどん成績が悪くなっているだけに今回に是非期待したいです。

livedoor wiki

先日MediaWikiがWikipediaのエンジンであることをご紹介しましたが、これを導入するにはMySQLサーバーが必要だったりと普通の人にはなかなか導入するのに敷居は高い。とはいっても複数人(それも不特定多数)での編集を想定しており、そしてWikiのようなCMSでなければならないとなるとpukiwikiの選択肢も難しい。で、見つけたのがlivedoor wikiです。

これはASP形態で提供されているのでアカウントさえ取得できれば誰でも利用できます。なかなか面白いモノをLivedoorはつくっていますね。一時期は(とはいっても今年ですが)Livedoorショックによってライブドアなんてつぶれてしまうのかと思いましたが、これぞ企業の底力なのでしょうか?

2006年10月14日

多重アクセスと衝突

多重アクセスには以下のものがある。

CSMA(Carrier Sense Multiple Access) 搬送波感知多重アクセス方式。なお、検出方法に対する挙動の違いで次のものが存在する。

CSMA/CD:Collision Detection
有線LANで利用している衝突検知で、キャリア信号を検出しデータの送信を制御する。コリジョンが発生した際、ランダムの数ミリ秒の間隔をあけて再送信する。
CSMA/CA:Collision Avoidance
無線LANで利用している衝突回避

CDMA(Code Division Mutiple Access) KDDIのauが利用している符号多重アクセス方式
FDMA(Frequency Division Mutiple Access) 周波数を用いた多重アクセス方式

セキュリティ技術

セキュリティを実現するための方法として、ネットワーク層のIPSec、データリンク層のPPTP(Point to Point Tunneling Protocol:Microsoft提唱プロトコル)、PPTPとL2FをIETFで標準化したL2TP(Layer2 Tynneling Protocol)がある。そしてアプリケーション層ではSSH(Secure SHell)、SSL(Secure Socket Layer)がある。

RAS尺度

Reliability(信頼性)、Availability(可用性:いつでも利用可能な状態であること)、Serviceability(保守性)の頭文字をとったもの。MTBF(平均故障間隔:故障するまでの時間)、MTTR(平均修理時間)を用いると以下の通りあらわすことができる。

R = MTBF
A = MTBF/(MTBF+MTTR) ※つまりは稼働率のこと
S = MTTR

M/M/1待ち行列モデル

必ずといっていいほど情報処理技術者試験に出る問題。M/1/1待ち行列モデルにおける平均待ち時間Twは以下のとおり表される

Tw=(ρ÷(1-ρ))×Ts ここでρ=システム利用率、Ts=平均サービス時間である。

アーラン

電話機の利用状況を示す単位で、呼数×平均保留時間÷測定時間で示される。

180台の電話があって、1台あたり3分に1回呼び出しがあり、平均通話時間が80秒とすると、呼数は、

180(台)×1(回)×80(秒)÷180(秒)=80アーラン

となるらしい。でもなぜネットワーク試験に出題されるのかが一番のなぞだ。

2006年10月13日

set_loginuid failed opening loginuid

Fedora Core OSで起こったエラーメッセージ。SSHでログインすると認証は通るのにその先にはなぜか進めない。今までうまくいってたのに・・・と思ってググッて調べてみたら/etc/pam.d/sshdが変更されているということに気づいた。以下が問題の状態。

#%PAM-1.0
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session include system-auth
session required pam_loginuid.so

そして以下がログイン可能なサーバーの状態。

#%PAM-1.0
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth

もちろん2番目の設定に変更したらうまくいったことはいうまでもない。

もっとpamについての仕組みを調べる必要があると思いました。

(追記)

PAMに関する詳しい情報に出会えたので紹介しておきます。

強制的に出力する文字コードを変更する方法

Apacheのdefault_charset設定がされている場合、クライアントに通知される文字コードが設定によってしまう(当たり前だが)。default_charsetで配信したくない内容(たとえばEUCでコンテンツを配信しているが、一部はXML配信したい場合など)は以下の方法で変更できる。

header("Content-Type: text/html; charset=UTF-8");

もちろんxml配信の場合には、header("Content-Type: xml/html; charset=UTF-8");となるわけですが。

露出メディアによる負荷の増大の違い

今の会社ではメディアへ露出する場合が時々あります。その際にやはりアクセス数が急激に伸びるわけで、そのピーク時の負荷にあわせて本来設計する必要がありますが、如何せんそこが十分に読めないわけです。

たとえば、Webや新聞への掲載があった場合には負荷は時間とともに順次伸びるわけですが、テレビの場合にはその延びるまでの猶予時間が極端に短いようです。やはりテレビを見ながらネットをしている人がいるからなんでしょうか?(こんなことは言ってはいけませんが)運用側の立場から言わせてもらえばとっても迷惑な話です。

2006年10月12日

set_error_handler関数

オレンジニュースを見ていたら、PHPにも致命的なエラーに対するハンドリングする方法ってのが紹介されていました。さすがに文法エラーまではハンドリングしてくれない(もちろん実行できないわけですから)ですが・・・。サイト内のページが多いと実はエラーで落ちているのに気づかないっていうケース(これもWebサーバーのログをちゃんと見ていれば問題ないはずですが)もありますから、結構活躍してくれそうです。

2006年10月11日

phpAdsNew

同僚から教えてもらった広告配信システムです。php+MySQLで稼動して、インストールまでは案外簡単に出来ます。

ここからダウンロードでき、日本語パッケージを展開してディレクトリにコピーすることで日本語化することが出来ます。

まず機能が高機能だけに操作方法に慣れるまでは結構難しいです。広告代理店が利用するツールとして作られているので、広告素材と掲載媒体の2つを管理することになります。

できることは次のとおり

・広告のインプレッション数とクリック数を計測でき、日別、時間別、素材別、広告枠別にそのレポートを表示できる(コンバージョンは計測できない)

・広告の配信条件を細かく(日時別、時間別、ブラウザ別など)設定できる

・インプレッション保証型広告、クリック保証型広告(それぞれ特定の表示回数があった場合に自動的に非掲載になる、特定のクリック数があった場合に自動的に非掲載になる)

・広告の掲載開始日、掲載終了日を設定できる

・広告主ならびに掲載枠を管理している会社にそれぞれアカウントを発行できます

・配信状態を担当者に自動的にメールでレポートできます

いろんな文字コードに対応しているのですが、途中で文字コード設定を変更すると同時にコンバートされないので、文字化けしてしまいます。(なので初期設定はとても重要です)

また日本語化パッケージはEUC-JPとUTF-8に対応しているのですが、実は両方ともUTF-8と表示されています。(実は上がEUC-JP、下がUTF-8です)

使い方は以下が参考になります。

http://gigazine.net/index.php?/news/comments/20060907_phpadsnew/

使っていてバグっぽいなと思ったのは以下のとおり。

キャンペーンに素材を複数設定すると表示確率が 1/(設定素材数) になってしまう。

あとはちょいちょい原文(英語)が含まれています。出来の良いものなので、よかったら翻訳メンバーに加われたらなぁと思っています。

あとは定期的にメンテナンスしなければならないので、/maintenance/maintenance.php の実行をスケジュールに加える必要があります。

(2006/10/17 追記)日本語化パッチの修正を行い公開してみました。順次対応していきたいと思います。

(2006/11/12 追記)Ver.2.0.9-pr1がリリースされています。最近は結構メンテナンスされているみたいですね。

2006年10月10日

NFSサーバーの設定

RedHat(Fedora Core)でNFSサーバーを設定する場合には以下のとおり

/etc/exportsファイルに以下を設定する

マウントポイント IPアドレス(モード)

モードには以下を利用すると良い

読み取り専用にしたい場合:ro

読み書きできるようにしたい場合:rw,no_root_squash,sync

あとはサービスの設定をするだけ

/sbin/chkconfig --level 35 nfs on

/etc/init.d/nfs start

NFS設定に関する詳細はこちらがかなり詳しい。

2006年10月 9日

VLC Media Player

フリーのDVD再生ソフトです。クラスプラットフォーム(Windows, Mac, Linux, etc...)に対応していて、いままでWinDVDを使っていましたが、遜色ない出来です。

アフィリエイトサービスプロバイダー一覧

アフィリエイトサービスプロバイダーには以下のものがある。

A8.net(ファンコミュニケーションズ株式会社)
個人アフィリエイターを多く抱える。2006年マザーズに上場。PageRank7。

ValueCommerce(バリューコマース株式会社)
Yahoo傘下のアフィリエイトサービスプロバイダー。2006年マザーズに上場。管理ツールが重めだが、最近は改善されつつある。PageRank6。

AccessTrade(インタースペース株式会社)
2006年マザーズに上場。PageRank6。

TrafficGate(トラフィックゲート株式会社)
楽天の子会社。サイバーエージェントグループ。PageRank6。

LinkShare(リンクシェアジャパン株式会社)
米国リンクシェアの日本法人。システムが米国のものをそのまま流用している関係もあって、管理ツールが一部使いにくい。PageRank6。

JANET(株式会社アドウェイズ)
マザーズに上場。PageRank5。

Affiliate Park(株式会社メディアイノベーション)
ライブドア出資のアフィリエイトサービスプロバイダ。他のASPとは少し傾向の異なった広告主を持つ。PageRank5。

CAP(株式会社サイバーエージェント)
PageRank3。

マセルネット(株式会社クロスネットワークス)
PageRank6。

ポケットアフィリエイト(株式会社DeNA)
biddersを運営するDeNA。マザーズに上場。PageRank5。

ADJUST(株式会社インビジブルハンド)
PageRank1。

画面プロトタイプの重要性

mixiの画面プロトタイプが公表されていたのですが、やはりイメージを具現化する作業がいかに重要であるかを物語るものだと思います。Webサービスはリリースする前までは動作しないケースが多いわけで、プロジェクトメンバー(場合によっては会社全体)が一丸となってその方向性に検討を加えていく上では画面のプロトタイプはもっとも創造しやすく、そしてベクトルをあわせやすいものであるということがいえると思います。

僕もエンジニアとして今後新しい提案などをしていく上でこのことは肝に銘じておきたいと思います。

「色」から探せる価格比較サイト

職業柄、他社の価格比較サイトの動向というのは非常に気になるもの。

色から探せる価格比較サイトという記事を見てぶったまげました。まだ機能はベータ版ではありますが、ShopWikiでなにかを選択した後に現れるColorというボタンを選ぶとカラーパレットが表示され、選択した色に近い商品で絞込みをかけることができます。

最近は比較サイトも以下に付加価値をつけるかといったことに奔走していますが、色という(人間にとっては珍しくはないが、エンジンにとっては非常に)新しい切り口で絞込みができることはすばらしいと思います。

人間の頭脳は非常に高等であり、コンピュータがいくら賢くなっても再現できない部分がたくさんあります。今までは研究所などが一生懸命奔走してアルゴリズムが提唱されてきているわけですが、さまざまなビジネスにおいても人間の頭脳を理解するということがユーザーにとって直感的なインターフェイスを提供するということにもつながるわけで、今後日本でも産学連携でこういったあたらしいアプローチがなされていくことを期待しています。

WinFS開発中止

WinFSがVistaから搭載を見送られることは知っていましたが、結局開発中止になるなんて思っても見ませんでした。ここまでハードウエアが発達した現在、ファイルシステムの改良というローレベルのアプローチはあまり意味のないもの(苦労する割には効果が少ない)になりつつあるのかもしれません。

MediaWiki

CMSの代表格とされるWikiにはさまざまな派生が存在するが、Wikipediaはとりわけ複数人での編集が可能なものであり、WikipediaはPHP+MySQLで稼動するMediaWikiというものを使って運用されていることを今回知った。まだダウンロードして使ってみてはいないが、pukiwikiでは社内のナレッジに利用すると履歴が追えなかったりするので、これは研究してみる価値はありそうだ。

クロスドメインAjax

以前Ajaxは他ドメインを参照することがブラウザのセキュリティ上の理由からできないと記載したが、実はできるということを同僚に教えてもらった。それは別サイトのスクリプトを読み込み可能なJavasScriptの性質を利用しているDojoというエンジンを利用すれば可能とのこと。ウノウラボさんにサンプルがあるので参考にされたい。

自分たちの労働条件を獲得する難しさ

プログラマやSEなど実務業務に当たるエンジニアは会社の決められた待遇の中で業務を行っている。僕の場合には、前職が労働組合があった関係もあって、労働条件はかなりよいほうだと感じていたが、転職してからというもの、会社が大きくなるにつれて労働条件が悪化していることが目に見えてわかった。

資本主義において、会社は最大利潤を追求する組織。経営者の確固たる従業員への思いやりの理念がなければ当然労働条件は悪化するものである。それは、純利益を最大化するためには、売り上げを上げることよりも、支出を減らすことのほうが簡単だ(少なくとも選択肢がある)からだ。

働きやすい環境を確保ならびに維持することは、生産性を最大化するための必要最低条件であり、従業員はこの努力を忘れてはいけない。経営者は実務作業をしているわけではないから、働きやすい環境というものが何なのかは現場にいなければよくわからないはずだ。

会社を大きくする上では、従業員を多くとっていかなければならない。現場の人間が誇りを持って新しい人を招きいれられるように労働環境の確保は行わなければならない。

しかし一方で従業員の立場は弱いものである。自分たちの思いを経営者に伝えるためには相当のポストになければならない。自分たちの思いを言葉に表さなくても経営者に伝えられればなんと良いことだろうか??

ところで、日本の法律には労働組合法というものが存在する。従業員は特定の職種以外であれば労働組合を結成し、経営者にその思いを伝えることができる手段が用意されている。

前職では当たり前のように労働組合と会社は話し合いの場を持っていた。労働組合は足の引っ張り合いになる可能性もないわけではないが、少なからず労働条件という題目において経営者と従業員が話をするためのツールであることは間違いないのだ。

Urchin

Google Analyticsで提供されているログ解析は実はUrchinというエンジンが利用されているということを同僚に教えてもらった。確かにソースにはurchinTrackerという関数が呼ばれているから不思議ではないわけですが。

Urchineは株式会社プロトンが代理店として販売を行っているソフトウエア。1台あたり28.4万円もするソフトウエアなのですね。Googleの進める「ネット上にたまった富の再分配」というのはまさにこういうことなのか?

正規表現におけるmオプションとsオプション

少しわかりにくい複数行マッチオプション(m)と単一行マッチオプション(s)について。Oreillyの「正規表現」の本では改良版行アンカーマッチモードとドット全文字マッチモードとあらわしている。Landscape - エンジニアのメモに具体例が載っているのでぜひ参考にしていただきたい。

2006年10月 8日

テンプレートを変更

Symfonyにて意図的にテンプレートを変更する方法はあるのだろうか?Mojavi+Smartyと同じようにreturnで変更できることがわかったのでいかのとおり示してみる。


class yesnoActions extends sfActions
{
 public function executeQuestion()
 {
  //ここで呼ばれるテンプレートはQuestionSuccess.phpだがreturnすることで変更できる
  return 'Result'; //こうすることでQuestionResult.phpを呼ぶことができる。

 }

 //バリデーションからエラーが発生した場合でもSuccessテンプレートを呼ぶ
 public function handleErrorConfirm()
 {
  //テンプレートを共通化する
  return sfView::SUCCESS;
 }
}

2006年10月 7日

Ajaxとインプレッション数の良くない関係

AjaxはWebサイトをストレス無く閲覧できる非常に素晴らしい技術であることは間違いない。しかし一方で、ユーザーの利便性を追及すると(事実上ページ遷移が発生しなくなるので、)広告のインプレッション数が減少するということがある。広告を掲載しているサイト(媒体)にとってはこれは非常に頭の痛い問題だ。

ある商品があって、より利益を得るために価格を下げたところ、販売数は値下げ率よりも伸びずに、全体的な売上が下がったということは良くある話だ。利便性を追求すればユーザー数が増えて結果的にインプレッション数増加につながるからどんどんAjaxを導入すべきだという考えもあるだろうが、媒体としてサイト運営を行う立場から考えると、微妙なところだと思える。

サムライファクトリーのSEO対策

SEOというキーワードで一番最初に出てくる会社がサムライファクトリーのSEOコンサルページだ。なぜSEOというキーワードで一番上に来るか調べてみたところ、受託開発のサイト?の一番下に

<script src="http://j8.shinobi.jp/ufo/09866230c"></script>
<noscript><a href="http://www.ninja-systems.com/" target="_blank">
<img src="http://x8.shinobi.jp/bin/ll?09866230c" border=0 alt="SEO"></a></noscript>

というものが含まれていた。一歩間違えるとスパム認定受けそうな対策がされている。どんなコンサルティングをしてもらえるのか非常に興味を持ってしまった。

I remember you

この記事は技術ネタとはちょっとちがいますが・・・

最近聞いているYUIの曲です。僕はどちらかというと女性ボーカルの元気になれそうな曲を選んで聴いて、仕事をしたりしています。職場はラジオがあって最新曲には困らないのですが、コーディングに夢中になって何の曲だかわからないので結局仮に行けないという悲しいことも起こります。こんなときは昔はやった見えるラジオなんていうのがいいんでしょうけど。。。

見えるラジオ→ワンセグときたら次の多重放送は何がくるのでしょうか?



ところでみなさんは音楽の視聴にどんなサイトを使いますか?僕はBARKSを使っていますが。。。

2006年10月 6日

Ajaxで返す文字コード

Ajaxで通信するデータはXMLHttpRequestであるのでUTF-8をはじめとする文字コードでなければならない。そうでなければ通信対象となるページ単体が文字化けしていなくてもXMLHttpRequest経由で文字化けしてしまう。innerHTMLでデータを差し替えるときに呼び出し元ページの文字コードがUTF-8でなくてもよい。これがなぜかはよく分からない。

複数のグループに所属させる

Linuxにおいて複数のグループに所属させるときには、/etc/groupファイルを編集し、GIDの箇所をカンマ区切りで複数設定すればよい。なお、所属状況を表示させる時には、groupsコマンドが用意されており、こちらで確認できる。

2006年10月 5日

J-SOX法とエンジニア不足の行き着く先

日本版SOX法(2006年6月7日制定の金融商品取引法)だが、ITの利用という項目が含まれている以上は、J-SOX対応は、管理や経理部門だけの話ではなく、システム部門の準備も行わなければならないことになる。いまは、エンジニアが本当に不足している。募集をしても応募すらほとんどこないという悲惨な状態である。こんな状態は半年前に想像もできただろうか??

J-SOXに対応するためには、文書化などさまざまな部分でいままで以上の業務(おそらく本来であれば作業手順をはじめとする文書化という作業は当たり前に行われなければならないが、Web業界においては仕様書がないとか作業手順書がないなんてことは珍しくない)を強いられることになる。ただでさえ、人員が不足している現在において、文書化までの作業を正しく行うことができるのだろうか?行き着く先は今かつて無いデスマーチの連続なのだろうか?2008年4月から恐ろしいJ-SOX法が施行されることとなる。

Googleにおける被リンク数の重要性

なぜかこのブログのGoogleにおける検索結果の順位が上位であることが多い。

たとえば、「is 書き込み」というキーワードは掲載順位が2番目だ。またPHP関数の「array_merge」での検索順位は7番目とかなり高い。

嬉しいといえば嬉しいのだが、原因を冷静に探すとおそらく被リンク数とリンク元のPageRankが影響しているとしか考えられない。Googleの検索アルゴリズムはきわめて奥が深い。

2006年10月 3日

サードパーティ製パッチについて

サードパーティ製パッチはMicrosoftがパッチ提供に対する認識の甘さを指摘するものだ。Microsoftは毎月第2火曜日をパッチの提供日にしているわけだが、ゼロディ攻撃が当たり前になりつつある現在において、かなりいただけない。

もちろん、トレンドマイクロ社における不適切な定義ファイル配信ということがあってはならないので、テストは十分に行わなければならないのだが、セキュリティに対する意識の向上をエンドユーザーに徹底するべき会社としての社会的な責任は大きいと考える。

ところで、シマンテック社のサポートもかなりいただけない。先日Corporate Editionの問い合わせを行ったにもかかわらず、返答があったのは2日後、それもありきたりの回答だった。ゴールドサポートという仰々しい名前があるにもかかわらず、電話がほとんどつながらないなど、セキュリティソフトの販売会社として、カスタマサポートがおざなりになるようではいかがなものかと思う。まぁ、現場は相当忙しいのだろうけれども。

データセンター

データセンターの価格はピンきり。ちょっと調べてみました。

Sinfony (ソニーコミュニケーションネットワーク)


データセンター:東京都千代田区神田多町(神田駅)

100Mbpsで対象接続 1/8ラック 15万円 1/2ラック 33万円 1ラック50万円 いずれも回線費用込みで初期費用5万円

WebARENA Symphony(NTTPC)

データセンター:東京都内に6拠点(飯田橋・白金高輪・不動前・勝どき)

回線は別途組み合わせ 1/4ラック 7.3万円 1/2ラック 14.7万円 1ラック26.2万円 初期費用は5.25万円(1ラックのみ10.5万円)

同僚の人に聞いてみたら、Sinfonyは回線が共用なんじゃない?といわれました。

あ、なるほどね。専用だったらこの値段は無いですね。

2006年10月 2日

99.9%の稼働率

99.9%の稼働率といえば、1日に86.4秒システムダウンしていることになるわけだが、多くのWebサイトにおいては、計画メンテナンスを含めると、99.9%の稼働率を達成できているところは意外に少ない(らしい)。

理由はWebが3層クライアントサーバーシステムになっていてシステムが複雑系だからというほかに、アプリケーションがバグだらけ、スパゲッティ―コードだらけ、テストが不十分、負荷の増大が予測しにくいなどの理由があると思われる。でも、Webアプリケーションはまだまだ未熟な様な気がしてならない。

PostgreSQLのエンタープライズ環境

PostgreSQLには高可用性と負荷分散に関する製品が存在するが、いずれもフリーだ。メリットとデメリットは以下のとおり。

Slony-I(スローニーワン)

シングルマスターマルチスレーブ方式。メリットはクラスター数に制限が無いこと。クラスター数を増やしても負荷が増えない(スレーブのスレーブにもできる)こと。デメリットはマスターからのコピー時間を制限できないこと。このことによりスレーブ間に時差が発生することがある。

pgpool(ピージープール)

マルチマスター方式。メリットは仕組みが非常に簡単(クエリを単純に自分自身とスレーブに投げるだけ)。デメリットはクラスター数が2台まで。完全にノード間が同じ状態であるか(クエリーエラーを考慮しないので、マスターとスレーブが同期されない可能性がある)は保証されない。

PGCluster(ピージークラスター)

マルチマスター方式。メリットはクラスター数に制限が無いこと。

クエリを負荷に応じて分散するロードバランサー、更新系クエリを他のノードにコピーしてクラスター間が正しい状態かどうかを監視するレプリケーション、そしてクラスターの最低3台が必要。もちろんすべてを1台で兼ねることもできるが、何ら意味は無い。

デメリットは、クラスターが増えるとノードすべてにコピーを反映させるのに時間がかかるようになり、指数関数的に待ち時間が増える(もちろん選択系クエリはクラスタが多いほうが早い)こと。負荷が多くなるとなぜかコピーが正常に行えない問題などがある。

おそらく選択系クエリと更新系クエリのどちらの頻度が多いかによって選ぶべきなのだろうと思われる。

(補足)MySQLはレプリケーションを標準で備えている。但し技術検証は行っていないため、ここでは特に触れないでおく。

最近pgpool-IIがリリースされました。結構強力です。

proftpd

バージョンが ProFTPD1.2.10rc1 以降 NLISTコマンドが対応しなくなりました。

使用するFTPクライアントソフト(FFFTPなど)によっては標準でNLISTコマンドでリスト取得しているため
接続できてもファイルがなにも表示されない。という現象がでてきます。

この問題を回避するにはクライアントソフトでLISTコマンドでリストを取得するように変更するか、proftpdにパッチをあてる必要があります。

http://dreamer-site.net/modules/bwiki/index.php?ProFTPD1.2.x%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%AC%A5%A4%A5%C9

プロジェクトの作成

hogehogeプロジェクトをfrontendアプリケーションとして生成する場合。生成したいディレクトリ内で以下を実行します。

symfony init-project hogehoge
symfony init-app frontend

なお、SymfonyはPHP5で動作するので.phpのマッピングがPHP5になっていることが前提です。

次にパーミッション設定をします。

cacheディレクトリへ書き込みを行いますので、cacheディレクトリにApacheユーザーまたはNETWORKユーザー(IISの場合)に書き込み権限を付与します。

また、トップページを描画するには、apps/frontend/modules/defaultに以下のファイルを配置します。

actions/actions.class.php
templates/indexSuccess.php

設定項目
apps/frontend/config/view.yml タイトル類

apps/frontend/config/settings.yml

IISだと.htaccessによるrewriteが利かないので、以下の設定を行う。

prod:
.settings:
no_script_name: on



prod:
.settings:
no_script_name: off
にする。

Congratulations!
If you see this page, it means that the creation of your symfony project on this system was successful.

You can now create your model and customize default templates.


となればOK!プロジェクトの作成を開始しよう。

2006年10月 1日

Linuxファイルシステム

ディレクトリの作成について

下位ディレクトリが生成されるかどうかは親ディレクトリのグループにファイル作成所有者が含まれるかどうかによる。



シンボリックリンクについて

シンボリックリンク先(以下実体と呼ぶ)とリンク元いずれも読み書きはでき、シンボリックリンクへの書き込みは実体に反映される。但し、シンボリックリンクを削除した場合には、リンクのみが削除され、実体を削除した場合にはリンクが切れた状態で残る。

コメントの仕方いろいろ

言語ごとにコメントの方法は違うが、おおむね互換性があったりするものだ。ところがこの前スタイルシートのコメントが効いていると思っていて、実は効いていなかったと言う事があったので、ここでまとめてみる。

/* */のみサポート C, StyleSheet

<!-- -->のみサポート HTML

#のみサポート Perl

//, /* */のいずれもサポート C++

#, //, /* */のいずれもサポート PHP