発言者: moon
発言日: 2003 09/17 08:55
> 何度もmoonさまにはお世話になっています。
> 何年かSoSのオーナーをやってきましたが
> 色々な改造の取り入れが増え、先日とうとうサーバーのほうから
> sos2.cgiの負担が大きすぎるとの警告メールがきてしまいました。
> 「sos2.cgi」のみで「47.04CP」の負荷がかかっているそうです。(30CP未満推奨)
> 追加オプション等をしても30CP越える負担は認めてもらえないようで・・(泣)
> ゲーム自体は快適?に動いてロックがかかることもあまりないのですが
> 他の方の迷惑になることがありうるそうなのです。
>
> できるがぎり Plで分割し、(それでもsos2.cgiは62KBになってます)
> 相手IDをプルダウンで表示させるとこなども負担がかからないよにやっているのですが、この有様です。
> プレイ人数なども多くないです。
>
> 取り入れた改造などをやめると言うことも考えましたが
> 何か良い案があれば教えていただくてやってきました。
CPですか?(もしかしてCPUとか。)
知らない単位なので根本の原因(CPU負荷のみなのかネットワーク関係やディスクアクセス関係も含めるのか)が良くわかりませんが、
CPU : 無駄または多量のループを探してその処理を行わないようにする。(結果的に何かの機能が無くなるかもしれませんが。)
ネットワークを含む : 大量のデータ転送が必要な時(IDリストなどの一括表示)のみzip圧縮して転送する。
ディスクアクセスを含む : 行動画面でのプレイヤーリストの表示を止める。
など。
簡単には出来ないことが含まれていますが参考までに。
> 同時アクセス人数を制限するというやり方もあるそうなのですが
> やり方がよくわかりません。
> もし、難しくなくてできるようであればお手すきのときでかまいません。
> 書き方を教えていただけないでしょうか?
> いきなりおとずれて質問ばかりでもうしわけありません。ぺこり♪
同時アクセス人数の制限は、もしやるとしたら一度全てのユーザデータをループさせて現在の参加者数を得て判定する、ということになるので結果的に無駄なループつまり負荷が増えるだけだと思います。
代わりに、http://www.melma.com/mag/87/m00045587/a00000027.html に書いてある【 特定のCGIで、サーバーの負荷を制限する 】を試してみるのも良いかもしれません。(コンティニュー時のみこの処理を実行して負荷が高いならコンティニューさせないなどに使えると思います。)
ただし、この方法も一度の負荷自体は増えるので要件と合わないようなら削除するつもりで。
ついでに、少し下にある記事http://www11.big.or.jp/~hazymoon/ownerbbs/treebbs.cgi?log=749 も参考にどうぞ。
# うちのサイトで配布しているものだと、カジノの負荷が高いので試しに停止してみるのも負荷減少につながるかと思います。(カジノの利用頻度がそれなりにある場合ですが。)
▼関連発言
│
└◆778:SOSの負担を減らす [紫猿(しえん)] 09/17 04:35
└◆779:Re:SOSの負担を減らす [moon] 09/17 08:55
├◆780:Re[2]:SOSの負担を減らす [moon] 09/17 17:41
└◆781:Re[2]:SOSの負担を減らす [紫猿(しえん)] 09/18 07:02
└◆782:Re[3]:SOSの負担を減らす [moon] 09/18 09:04
└◆832:Re[4]:SOSの負担を減らす [紫猿(しえん)] 10/17 00:23<-last