Tag: SoSiReMi’

SoSiReMi障害情報

 - by Don

2013-02-03 17:00現在までにかけてSoSiReMiサモンナイツ・クインテットにおいてネットワーク更新が正常に行われていない状態が確認されました。

原因はNARアップロード時に内部でネットワーク更新用ファイルの作成を行う際、処理が失敗したことによるものです。

連続した更新問い合わせによる負荷の増大が懸念されたため、管理者権限でNARの削除・新規アップロードを行い、原状回復を致しました。それに伴い、過去のダウンロード回数やネットワーク更新回数等のログは破棄されました。

ご利用中のゴーストマスタ並びにユーザの皆様には度々ご不便をお掛けしてしまい申し訳ありません。不安定なアップローダーで恐縮ですが、温かい目で見守って頂ければ幸いです。

最近SoSiReMiの障害情報ブログみたくなってきましたね。

ソシレミ検索機能の凍結

 - by Don

ソシレミが「31件以上は検索できない云々」エラーを吐いていたので検索機能を一時的に凍結しました。次期バージョンではこの辺もどうにかするつもりです。ご不便をお掛けしております。

作成当初は数件しかなくて検索要らないんじゃね?とか思ってたんですが、登録数が増えてきてようやく検索の出番も出てくるかと思ったらこのザマです。皮肉なようでもあり、笑い話のようでもあり。

あけましておめでとうございます

まだ1月なので個人的にセーフ。

今年の目標は「ソシレミをバージョンアップする」で決まりのようです。

ソシレミでエラーが出た時

 - by Don

これは伺かアドベントカレンダー2012の24日目の記事です。

SoSiReMiアップローダー

手前で管理しているアップローダーの宣伝めいた記事になります。

SoSiReMiというアップローダーがあります。NARをアップロードすると、中のファイルを全部ZIP展開してサーバ内に配置します。また、updates2.dauを作成し、descript.txtにhomeurlを追記してZIPに詰め直すという、およそアップローダーらしからぬ処理を行います。

descript.txtのhomeurlを読み取るのはSSPの独自仕様なのでSSP専用となりますが、NARをアップロードするだけでネットワーク更新に対応できるという触れ込みで多くのゴーストマスタの方々にご利用頂いております。

ただ、複雑な処理を行うわりに設計が雑でバグも多く、さらに1日の転送量が1GBに達すると使えなくなるという制約があります。また、NARの中身に不十分な点があればエラーを返すようにしていますが、メッセージがわかりにくいという不親切な設計となっていて新規利用者の方々にご迷惑をお掛けしております。

エラーが起きたら

NAR-Station / issuesまでご報告お願いします。特に「500 Internal Server Error」というメッセージが出たら100%アップローダー側のバグです。その時アップロードしようとしたNARも添付して頂けると調査の際に再現できると思うので助かります。

その次に多いと思われるのが「install.txtが無い」旨のメッセージです。これは十中八九、ゴーストフォルダを右クリックしてZIPを作成したため、ディレクトリが一段深くなったものと思われます。NARの実態がZIPなのは確かですが、この方法によるNARの作成は推奨されません(前述のようなことが起こるため)。ゴーストにフォルダをDnDして作るか、SSPのゴーストエクスプローラから右クリックで「NAR作成」を選んで作成するのを推奨します。その際、developer_options.txtを含めておくと良いです。私自身はゴースト配布系自動化システムを使ってNARを作成しています。これが一番間違いがなく便利です。

参考

SoSiReMiの今後

ボロくなってきたので作り直しを考えていますが、無駄に複雑な処理を組んでいるので思うように改修が進まず途方に暮れています。現状しばらくは新規利用も問題ないですが、容量の大きいNARが新規にアップされると転送量の増大に繋がってよく落ちるので、容量の削減にご協力頂ければ幸いです。

SoSiReMiを少し最適化

 - by Don

SoSiReMiを一から作り直している傍ら、現状のものもアクセス解析の部分は少しの手間で改善できる気がしたので、改善してみた結果がこちら。

22:00時点で80%くらいなので、以前よりはマシですが1日持たない感じです。まあ、アクセス解析見れなくてもそんなに困らないですが…。

それよりも、その下の転送量がまだ10%にも満たないところに注目です。ご利用中のゴーストマスタ様方から容量削減にご協力頂いたことにより、SoSiReMiはもうしばらく生き長らえることができそうです。本当にありがとうございました。

これに甘えず、本格的な最適化に向けて準備を進めたいと思います。

ドスドス

 - by Don

今日はまた随分早い時間にSoSiReMiが落ちております。DL数はさすがに落ち着いているはずで、こういう時はまず攻撃を疑うものです。ログを見てみると大変わかりやすいDoS攻撃が確認できました。

dos

サイズの大きいNARに狙いを定めているあたりが効果的ですね。

対策

Google App EngineにはDoS Protection Serviceという機能が標準で利用できますので、早速試してみます。Pythonの場合はdos.yamlというファイルをルートに入れて、デプロイするだけです。書式はこんな感じです。

blacklist:- subnet: 1.2.3.4
  description: a single IP address
- subnet: 1.2.3.4/24
  description: an IPv4 subnet
- subnet: abcd::123:4567
  description: an IPv6 address
- subnet: abcd::123:4567/48
  description: an IPv6 subnet

とりあえずこれで様子を見ることにします。

お勉強ついでに

DoSというと一般にはトラフィック増大を引き起こして対象をサービス停止に追い込むものですが、クラウドサービスに対するものはEDoS(Economic Denial Of Service)と呼んだりするそうです。クラウドサービスは基本的にスケールが売りなのでDoS攻撃程度で落ちたりしないものですが、サービス体系が一般的に従量課金ですので、運営者に経済的な打撃を与えることが可能になります。ウチは無料枠超えたら現在のように落としてもらっているので大丈夫ですが、上限を定めていない青天井の契約形態のサービスは怖くて利用できないですね。

参考

SoSiReMiの分析

 - by Don

2012-10-01 10:09 – 16:00 の間、SoSiReMiが落ちていました。ご利用中の方々には大変ご不便をお掛けしました。

原因は先月も予想していましたが、新規公開ゴーストのダウンロード数が跳ね上がったことによる転送量オーバーです。1GB/dayまでの転送量が許されていますが、6.7MBのNARであれば160回ダウンロードされると余裕で1GBを超える計算になります。

quota analysis of sosiremi

上の100%になってしまっている方はアクセス解析のカウントを司るAPIです。これが上限を超えた場合でもアクセス解析を非表示化して何とか運用を続けています。その下のもうすぐ100%になりそうな方が転送量です。2012-10-01 23:00現在のものなので、もうすぐまた落ちます…。23:30追記:落ちました。

対策

SiReFaSoは巡回間隔を空けることで現状はなんとかなりそうですが、SoSiReMiはこのままではマズイですね。外部ストレージを活用するなどして全面的に作り直さないといけません。管理人が膝に矢を受けてしまったため作業が停滞しておりますが、回復までしばらくお待ち下さい…。

補足

SiReFaSoの時も気を回して頂いた方がいらっしゃいましたが、決して「使うな」と言ってるわけではないので早合点なさらないようお願いします。ご利用中または今後ご利用をお考えのゴーストマスタ様でご協力頂けることがあるとすれば、表情差分のみで構成された立ち絵のシェルに関してはelement合成によってNARの容量削減が見込めるため、転送量の削減に効果があります。SoSiReMiと地球にやさしいNARになりますので、ご検討頂けると助かります。

ゴースト削除&再登録

 - by Don

SoSiReMiクロックラビットのネットワーク更新がtimeoutとなっていたので、管理者権限で一旦削除してもう一度アップロードし直しました。現在はtimeoutが解消していることを確認しました。

以前のアクセス解析結果も全て削除されてしまいましたが、ご了承お願いします。申し訳ありません。

SoSiReMiの不調

 - by Don

昨日の11:00 – 16:00頃、SoSiReMiの一部のページが表示されていませんでした。原因はGoogle App Engineの無料APIリソースを消費し尽くしたことによるものです。本日も、これを書いている1:00頃、既に無料枠の70%近くを消費しており、昨日よりも早い時間にサイトが表示されなくなることが予想されます。

今後の予定

内部の設計に無駄が多いことは自覚しているので、設計を最適化してサイトを作り直すことを考えています。ただ、そう短期間では無理です(SiReFaSoの時は数ヶ月かかった…)。それまでの間は、時々サイトが表示されない状態が続くと思います。ご利用中のユーザ・ゴーストマスタの方々には大変ご不便をおかけしますが、ご理解の程宜しくお願いいたします。

新規登録直後でPV数が多いことによる一時的なものと信じたい…ですが、急いで何とかしたいところです。

追記

主にアクセス解析でリソースを消費しているのですが、上限まで達したらアクセス解析を非表示にすることで、継続利用が可能となりました。ダウンロードやネットワーク更新は問題なくできると思います。

NAR-Station更新 日本語ファイル名処理不具合修正

 - by Don

日本語名のファイルを正常に保存できない不具合が以前にもありましたが、
その修正が不十分であったため、再度更新しました。

nikolat / NAR-Station / overview — Bitbucket

併せて、SoSiReMiにアップロードされたNARが正常に保存されていなかったため、差し替え作業を行いました。ご不便をお掛けしております。

それはさておき

Google App EnginePreview版を卒業しました。Python2.7がサポートされたことがウリなのですが、High Replication Datastoreに移行しないと利用できない、移行のためには今のID(ドメイン)を捨てる必要がある、とのことでPython2.5を使い続けることにしました。

他にめぼしいアップデートとしてBlobstoreが無料枠でも使えるようになったのが嬉しいです。今までは頑張ってDatastoreでちまちまファイルを小分けにして保存していたのですが、これでNARをまるごと保存できる上に高速化できそうです。今までの苦労はなんだったのだー。ただ今のソースを書き換えるとなるとかなり大変なので時間がある時に試してみます。

ところで新料金体系になってからも問題なく動いていますね。でもSiReFaSoはかなりギリギリなのでこちらの書き換えが最優先と考え、今ソース最適化の作業中です。

GAE/P 開発者向けリンク

GAE/P SDK 1.6.0 でkayのrunserverがコケる問題の対策

Python2.5とPython2.7のMySQL-python(mysqldb) Windowsインストーラ

自動サーフィス生成

 - by Don

SoSiReMiを更新しました。アップロードされたNARにSurface10に相当する画像が入っていなかった場合に、自動で1×1のダミーPNGを挿入するようにしました。既にアップロードされているNARについては、次回アップロード時に反映されます。