#01 仮想化ソフトの選定 - WinでPHPの開発環境を揃える

僕はWindowsユーザーなので、WindowsでPHPの開発をやってきた。
EthnaとかCakePHPとか、他のフレームワークもそうなんだろうけど、最近のフレームワークはコンソールからコマンド打って開発することが増えてきた。
っつか、その方が便利。

んで、今まではテキストエディタで書いてLinux系のサーバにアップしていたんだけど、これじゃあコマンド使えない。
Windowsにサーバ環境インストールして・・・ってやれば、コマンドプロント立ち上げてコマンド叩いてやることも出来るんだろうけど、なんだかそれって気持ち悪い。
最終的にはLinuxのサーバにアップするんだし。

で、最近までXAMPPをインストールしてごにょごにょやってたんだけど、ふとググってみたらVMwareって仮想化ソフトいれてそこにLinuxいれちゃって、それ上で開発すれば良いじゃんってエントリーがちらほら。

#00 VMWare×CentOS5 Windowsでカンタン開発環境 - GRANADA Hatena @ sotarok
ウノウラボ Unoh Labs: VMwareとCentOSでウェブ開発の環境をさっさと整える手順書(前編)

ここで、二つの選択肢が。
VMWare PlayerとVMWare Server
この違いが分からんっつうことで、調べた。
hktr.jp: VMWare Tips まとめ。 アーカイブ

要は、Serverの方は複数同時にOS動かせたりしちゃうらしい。
実際に、小規模のサーバ運用なら出来るぐらいみたいなんだけど、まずはPlayerの方で良いかなと思ってまった。
ん~悩む。
会社のPCはデュアルコアじゃなかった気がするし、あんまり負荷をかけたくないし。
両方入れて考えようかな。
でも、二つを共存させることは出来ないらしい。

ということで、今日はここまで。

「ECサイトで鬱になる」その2

先週えらいことになったサーバー。

今週会社に行ったら、凄いメール。
そうだなー、14000通ぐらい来てた。
もちろん全部見れないけど、ほとんど自作アプリが「データベースのコネクション数エラー」の為。
毎秒メールが来てたわ。

mysqlのコネクション数の最大値見たら20でやんの。
そりゃさすがに少ないだろーと思った。
apacheのMaxcliant数50に対して、20。
そんなものなのかな?
ようわからんけど、少ない気がする。

お客さんからの問い合わせ20通。
朝から初めて夕方の5時ぐらいに全部返した。
一から調査しなくちゃいけなかったりするものもあるし、デバッグしなくちゃいけないものあるしで大変だった。
サポートセンターとかの人は鬱になるなと思った。
俺には出来ん。

火曜日は休みだった。
やっぱり気になってサイトとか見たら、また変なところ見つけてしまって鬱になった。
はぁ・・・。
電話はならなかったけど、気にしーだからな。

水曜日会社に行ったら、また15通ぐらい問い合わせメールが来てて、これまた16時ぐらいまでかかった。
プログラムもいくつか直した。
で、最悪の知らせが。
また、テレビで紹介されるらしい。
この前は全国ネット。
今回は地方だけど、2回も!
馬鹿かと思った。
重くてクレーム来るだろうに。。。

とりあえず、その日は出勤することに。
何も出来ないけど、何かしないと誠意が・・・とか社長に言われたかな。
大丈夫かな?って心配して休みとっても、精神衛生上良くもないでしょ?とも。

そうだけどさ。
それをあんたが言ったらだめだろーと思ったけど、しゃーないな。
ってことで、GW早速出勤決定!
せつねー。

ということで、エラーになったらメールで知らせる機能を切っておかないと。
また何万通ってエラーメールが来ることになる・・・。
このアプリが吐いていたエラー通知メールもサーバーに負担かけていたんだと思うしな。

さて、どうなることやら・・・。

「ECサイトで鬱になる」その1

金曜日、うちの会社でサポートしているECサイトがテレビで紹介された。
以前から紹介されるとは知っていたんだけど、テレビ見て直ぐにPCつけて見るかな?って思ってた。
まあ、アクセス増えたところで、直ぐに引くだろうとも。

が、甘かった・・・。
テレビ凄すぎ。

放送直後からサーバーが一気に重くなった、というか見れなくなった。
顧客からは「見れない」「なんとかしてくれ」という電話がかかってきた。
そんなこといわれても、複数台構成で負荷対策しているわけでもなく、VPSサービス(一応最高のプラン)を利用していたので、どうすることも出来なかった。
うちだけVPSの設定を特例的に上げてくれと行っても、そりゃ無理だ。

オールインワンだったので、メールサーバーもそこに含まれていた。
そのうちメールサーバーへも接続が不安定になった。
四面楚歌。

奇跡的にサーバー自体は落ちているわけではなく、FTPやSSHは利用できた。
まずは、どうしようもないので「ただいまアクセスが集中しています」みたいなメッセージだけの軽いページを用意。
どこへアクセスしても強制的にそのページへ飛ぶようにした。
そしたらとりあえず、負荷が下がったというかそのメッセージページだけは出るようになった。

負荷が下がるのを待つ間に、Apacheの設定をカスタマイズを調べることにした。
パフォーマンス周りは本当に未経験だが、何にもしないのもアレなので、グーグル先生を頼りに設定変更をぶっつけ本番でやってみた。
httpd.confのkeepAliveがOffだったのでOnにしてみたり、MaxCliantを倍にしてみたり。
そしたら一気にプロセスが倍以上になり、画面は心なしかレスポンスが良くなった気がした。
レスポンスが早くなったというか細かいファイルの表示が早くなったので、KeepAliveの恩恵だなと直ぐにわかった。
がその反面、なんとか接続できていたメールサーバーに接続できなくなったりした。
MaxCliantを増やしたことによって、Apacheの処理負荷が増え、他のプロセスを圧迫したんだろうなと思う。
結局、MaxCliantはデフォルトの状態に戻した。
そしたら、メールサーバーへの接続は落ち着いた。
ま、ウェブサーバーはまた重くなったんだけど。

この状態が夜まで続いた。
で、このままだと会員も増えないし意味がないので、遅いながらも動くなら動かそうと言うことになり、転送処理をはずした。
これまた一気に負荷が上がった。
まあ、会員登録通知メールにトップページ以外のアドレスも書いてあったし、検索で他のページも引っかかるだろうし、トップページ以外へのページへ直接アクセスする方法なんていくらでも考えられた。

いろんなことを未経験ながら負荷を下げれないかと考えてみたのだけど、はっきり言って今までの100~200倍以上のアクセスがいきなり来ている状況では、何の効果もなかった。
そもそもカスタマイズって、基本的な処理能力があってこその効率化なんだなと実感した。
まあ、物凄いスキルがあれば乗り切れたのかもしれないけど、素人同然の僕には無理だったわ。

で、とりあえず結果的に
・トップページは簡素なアクセス集中ごめんなさいページ
という対策だけで、金曜日は終電で帰った。

次の日、家からアクセスしてみるとまだ重い。
会員数の増加数は多少鈍化してきてはいたけど、逆に売り上げとかの増加数が半端じゃなかった。
昨日アクセス出来ない人たちが時間を置いてきているのもあるんだろうなと思った。
休日で買い物に出かけていた僕に容赦なく電話が掛かってきた。
結局、2回ほど掛かってきたが、何も出来なかった。
何も出来ないとはいえないので、サーバーの再起動とかは何度かやってみた。
まあ、立ち上がった瞬間また負荷過多でにっちもさっちもいかなくなっただけ。

家にいるときは、ことあるごとにアクセスして確かめてしまった。
そうだなーのべ10回ぐらいはチェックしてたかなー。
こんなのが続いたら、さすがに参ると思った。

日曜日になると、ちょっと落ち着いてきた。
放送されてから2日たってやっとだ。
びっくりした。

以前よりは2倍近くのアクセスは来ている感じ。
けど、それぐらいなら、サーバーも余裕がありそうな感じだった。
ひとまず一安心。
やっとお腹がすいた。


サーバー管理は怖い。
最近忘れていたけど、思いだした。
それも一人だと、本当に怖い。
だれかとあーだこーだ言えないもの。
逃げたくなる。
ECサイトとかは特にお金が絡んでいるし。


一気に仕事が嫌になり、逃げ出したくなった週末だった。

リバースプロキシ利用時のhtaccessによるIPアドレスでのアクセス制限

X-Forwarded-Forに元のIPアドレスが入ってくる場合、以下のようにhtaccessに書き込めばOK。
# X-Forwarded-Forに"^192\.168\.1\."ってパターンが入っていたら、
# 環境変数allowed_accessをセット。
SetEnvIf X-Forwarded-For "^192\.168\.1\." allowed_access

order deny,allow
deny from all
# 環境変数allowed_accessがセットされていたら、許可
allow from env=allowed_access

NonipSSL利用時も使える技。

PleskのApacheのアクセスログのカスタマイズ

これまた興味深い議論を発見。
Apacheアクセスログのカスタマイズについて

結局は既存の仕様では「不可」だったんだけど、Pleskの内側を垣間見えた気がして勉強になった。
僕も案件でカスタマイズが必要なものがあるんだけど、さてどうしたものか・・・。
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 9 of 11

アーカイブ

2012

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12

2011

2010

2009

2008

2007

コンタクト

longkey1[at]gmail[dot]com