arz Nitelyってシステム屋どうよ?

SecondLifeとWebとの融合を模索するセミプロWeb屋の挑戦

SHOUTcastのURLの謎…

2008年11月06日 – 01:32

xstreetsl(旧SLX)でSHOUTcast関連の曲名表示機能付きラジオを検索して情報を見てるんですが
どうも、「192.168.0.1:8080」型のURLにしか対応していないみたいですね〜

ということは…
「example.com:80/path/to/streamfile/Stream-ID」で7.htmlを参照するのって無理なのかな〜??
(何のことか判らない人はこちらをどうぞ)

大手のSKY.FMが結構このURL型なんですよね…

それにしても、Best of the 80sを聴きながらじゃはかどらないよ…
懐かしい曲かかりまくりで、ついついWikipediaなんかでアーティスト調べてみたりとか…

ま〜いっかw
のんびりいこう



続・ネットラジオw

2008年11月04日 – 00:52

とりあえず研究はココからスタートですかね〜やっぱw

今のところ判っていることをWikiにまとめてみました
興味のある方、情報交換しませんか?

Wikiのページはhttp://document.arznitely.com/?id=ja:research:shoutcastです。
(上の「研究」タグからもアクセスできます)

 

※ Wikiの編集はオープンにしていませんので、何かつっこみどころがありましたらブログのこの投稿に対してコメントくださいませ。



LB Tune凍結のご案内

2008年09月03日 – 14:07

残念ではありますが…
現在借りているレンタルサーバでは「曲名取得機能付きネットラジオ」の実現は不可能だと判断しました

曲名が取得できないSLにおいて曲名を表示させるために
いわゆる「串鯖(プロキシーサーバ)」の要領で中継地点をつくる必要があるんですが
(その中継を、現在レンタルしているサーバで行っていました)
かなり頻繁にサーバを稼働させることが必要であり
サーバが負荷増大の危険を察知して接続を遮断してしまうという事態がおきています…

 

いずれは上位サーバへ引っ越そうと検討していますが
今のところ、その時期は未定です

 

LB Tuneのモニタをしてくださった方々には
モニタ期間終了後もそのままβ版をご利用いただいていましたが
このたび曲名取得用のPHPを凍結する処置をとらせて頂きます…

誠に申し訳ございませんが、ご理解の程、よろしくお願い致します



サーバ不調の原因は…

2008年07月08日 – 15:31

サーバ管理者とメールのやり取りが続いています。

おおよそ、原因をつきとめることができましたが
さてさてその対処策に困っています…

500 Internal Server Error(サーバ内部エラー)が出る原因は様々なのですが
主に次のようなものが関係しています。

 

1. PerlやPHPなどの言語で書かれたスクリプトによるもの

構文エラーではなく、一定時間内に処理が完了しなかった場合に起きます。

 

2. パーミッション設定ミスによるもの

700や755などのパーミッション設定がサーバに適していなかった場合にもステータス500が返ってきます。

 

3. サーバに対する負荷増加によるもの

サーバ負荷増加にともない、1. と同じく「一定時間内に処理が完了しなくなる」ケースも起きます。この場合にもエラーが出ます。

 

今回のエラーは「特定のスクリプト」ではなく「サーバ内全てのページ」にてエラーが出るという症状ですので、1. 2. はあり得ず、3. が有力候補に上がっていたのですが、メールのやり取りによって、サーバ運用にもう1つ大切な概念が必要であることがわかりました。それは「リソース」です。

共用サーバでは、1つのサーバを複数(多数)の人が使用している状態で、いわゆるマンションなどの集合住宅のようなものなのですが、住人の1人がマンションの共用部を占有し他の住人が利用できなくなるというケースは避けなければいけません。サーバも同じであり、CPUやメモリなどのハード面、LinuxなどのOSや周囲ドライバなどのソフト面の双方において、資産を1人が独占しないように心がけなければいけません。この、ハード / ソフト両方の「資産」のことを「リソース」という(らしい)のですが──さいきん勉強して得た知識なのでまだ曖昧です──、今回のエラーは、この「リソース占有」によるものだということがわかりました。

すなわち、あたしがリソースを食い過ぎ他の住人に迷惑をかけそうになっていたため、自動的に接続を遮断されていたわけですねw。

このリソースというのがまた厄介で、アクセスアナライザーなどで見ることができないんですね…。
見えないけどリソース消費を抑えないといけない…。

これが、対処策ということらしいのですww

オイオイ、対処できねぇよwww

 

というわけで、またまたお勉強をしなければいけないことになりましたw

いかにリソース消費を抑えるか…

道のりは長そうですね…

 

さてさて、では、「何がリソースを消費していた」のか???

1. さいきんになってリソース消費が増大しエラーが出るようになった
2. さいきんサーバに追加したPHPは「LB Tune用の曲名取得スクリプト」だ…

そ、そうなんです…
どう考えてもコイツが原因のようです…

アクセス数や転送量は抑えることに成功したのですが
どうも、リソース消費を抑えることができていなかったみたいなんです…

が〜〜〜〜〜〜ん……

 

申し訳ございません…

発売はまだ先になりそうです…



【LB Tune】新たな兆しか!? LSL単独でメタ情報取得できるかも!

2008年07月03日 – 01:53

LSL x PHP第一弾企画として立ち上げたLB Tuneですが
「ホントにLSL単独ではメタ情報取得できないのかな〜?」と疑問に思い
ちょっくらでっちあげたスクリプトを走らせたところ…

あれ?? つながったよwww

[9:33] Object: ICY 200 OK
icy-notice1: <BR>This stream requires <a href=”http://www.winamp.com/”>Winamp</a><BR>
icy-notice2: Firehose Ultravox/SHOUTcast Relay Server/Linux v2.6.0<BR>
icy-name: S K Y . F M - Absolutely Smooth Jazz - the world’s smoothest jazz 24 hours a day
icy-genre: Soft Smooth Jazz
icy-url: http://www.sky.fm/smoothjazz/
content-type: audio/mpeg
icy-pub: 1
icy-br: 96

#”ۘõkW

ちゃんとレスポンスが返って来たではないですか!!

しかも、最後の文字化けを見る限りバイナリーデータ部分の受信も始まった模様w

 

── The body is currently limited to 2049 bytes. 《lslWikiより引用》──

とあることから、2049バイト以内であれば
受信したボディー内から曲名情報を抽出できるかもしれません!!

ウヒヒw