ツリー一括表示

Nomal なでしこを落ちないようにするには? /とんとん (09/04/06(Mon) 13:22) [#7651]
Nomal Re[1]: なでしこを落ちないようにするに... /choco (09/04/09(Thu) 08:50) [#7662]
  └Nomal Re[2]: なでしこを落ちないようにするに... /とんとん (09/04/13(Mon) 15:37) [#7673]
    └Nomal HTTP取得の問題では /canot (09/04/20(Mon) 16:48) [#7699]
      └Nomal Re[4]: HTTP取得の問題では /とんとん (09/04/20(Mon) 18:00) [#7700]
        └Nomal 相手側サーバーの問題でした /とんとん (09/04/25(Sat) 23:24) [#7713] 解決済み!


親記事 / ▼[ 7662 ]
/ 親階層)  なでしこを落ちないようにするには?
□投稿者/ とんとん 【219.121.32.196】(2009/04/06(Mon) 13:22:54)

    みなさん、こんにちは。

    久しぶりに困っている点がありますのでお知恵を貸してください。

    今、約4万件のデータを処理するプログラムでエクセルから
    データを取り込んで、HTMLファイルを作成しています。

    それが約5000件処理すると落ちます。
    4万件一度に処理するにはメモリが足りないので
    1000件ずつに分けて処理しています。

    必ず5000件程度で落ちるので、落ちる度に「開始位置を修正して
    もう一度実行」を繰り返しています。

    リソースを消費するらしい「{変数}」パターンの展開も極力使用
    していません。どのような処理がメモリやリソースを大きく処理
    してなでしこが処理不能になる恐れがあるのでしょうか?

    例えば気になるのは、下記の様にグローバル変数を定義して
    1000件ごとに空にして再利用しています。
    これなど問題でしょうか?
    ※使ったことがないのですが「作ったり、壊したり」するべき
    なのでしょうか?

    ※変数定義
    wrkIDとは配列
    wrkHPとは配列

    ●処理関数
    wrkIDは空 //空にしているのですがメモリの解放には
    wrkHMは空 //ならないでしょうか?

    ※処理内容

    戻る


    また、ネットから4万件分のホームページをHTTP取得しています。
    それはローカル変数で処理しています。
    これなども問題になるでしょうか?

    あとは文字列の置換処理をしているだけなので、特に気になる点
    もないのですが大きなループ処理を実行すると
    「なでしこは良く落ちます」

    安定度が増すともっと利用価値が上がるのですが
    どなたか注意点などどうぞよろしくお願いします。

[ □ Tree ] 返信 削除キー/
[ □ Tree ] 返信

▲[ 7651 ] / ▼[ 7673 ]
/ 1階層)  Re[1]: なでしこを落ちないようにするには?
□投稿者/ choco 【202.171.147.114】(2009/04/09(Thu) 08:50:20)

http://www.choco.org.uk/chocodb/
    こんにちわ、とんとんさん。

    今回の質問は、あまりにも抽象的過ぎて誰も回答を返せないと思います。
    とんとんさんの作成したプログラムの一部でも、ここの出さないとアドバイスは難しいんじゃないかなと・・・。

    ちなみに同様の処理をやっても、私は落ちた経験がないです。

[ 親 7651 / □ Tree ] 返信 削除キー/
[ 親 7651 / □ Tree ] 返信

▲[ 7662 ] / ▼[ 7699 ]
/ 2階層)  Re[2]: なでしこを落ちないようにするには?
□投稿者/ とんとん 【218.219.222.190】(2009/04/13(Mon) 15:37:35)

    chocoさん、レス有難うございます。

    返信が遅くなりましてごめんなさい。

    > こんにちわ、とんとんさん。
    >
    > 今回の質問は、あまりにも抽象的過ぎて誰も回答を返せないと思います。
    > とんとんさんの作成したプログラムの一部でも、ここの出さないとアドバイスは難しいんじゃないかなと・・・。

    今回はあちこちの関係がありますので、そのまま掲載はできませんでした。
    適当なホームページをサンプルに掲載しようかと思いましたが4万回(ページ)の
    ダウンロードを何人かの人がやると一時的にせよサイトに大きなご迷惑を掛ける
    のではないかと思いますのでやめておきます。

    > ちなみに同様の処理をやっても、私は落ちた経験がないです。

    例えば、amazonの商品を4万点選択して連続で検索しながら、ページ内の
    一部内容を置換しながら「htmlファイル」に保存する、よう処理です。

    適当なサンプルを作成できたらアップしますのでそのときは
    どうぞよろしくお願いします。



[ 親 7651 / □ Tree ] 返信 削除キー/
[ 親 7651 / □ Tree ] 返信

▲[ 7673 ] / ▼[ 7700 ]
/ 3階層)  HTTP取得の問題では
□投稿者/ canot 【218.219.159.24】(2009/04/20(Mon) 16:48:23)

    昔の経験なので今もそうなのかわかんないのですが

    データをネットワークからHTTPダウンロードしている場合
    相手サーバーの応答が中途半端なタイミングでなくなったり拒絶されたりすると
    タイムアウトもできずにフリーズすることがあります
    #僕はこの特性が嫌いでなでしこのHTTP機能を使ってません。
    もしかするとこのせいで固まってるのではないでしょうか?

    いったん、ダウンロード機能を外して
    ローカルにデータを用意して試してみてはいかがでしょう
    通信機能は別プログラムに分けると良いです。
    (フリーズ検出したらプロセス終了すればいいですしね)

    No7673に返信(とんとんさんの記事)
    > chocoさん、レス有難うございます。
    >
    > 返信が遅くなりましてごめんなさい。
    >
    >>こんにちわ、とんとんさん。
    >>
    >>今回の質問は、あまりにも抽象的過ぎて誰も回答を返せないと思います。
    >>とんとんさんの作成したプログラムの一部でも、ここの出さないとアドバイスは難しいんじゃないかなと・・・。
    >
    > 今回はあちこちの関係がありますので、そのまま掲載はできませんでした。
    > 適当なホームページをサンプルに掲載しようかと思いましたが4万回(ページ)の
    > ダウンロードを何人かの人がやると一時的にせよサイトに大きなご迷惑を掛ける
    > のではないかと思いますのでやめておきます。
    >
    >>ちなみに同様の処理をやっても、私は落ちた経験がないです。
    >
    > 例えば、amazonの商品を4万点選択して連続で検索しながら、ページ内の
    > 一部内容を置換しながら「htmlファイル」に保存する、よう処理です。
    >
    > 適当なサンプルを作成できたらアップしますのでそのときは
    > どうぞよろしくお願いします。
    >
    >
    >
[ 親 7651 / □ Tree ] 返信 削除キー/
[ 親 7651 / □ Tree ] 返信

▲[ 7699 ] / ▼[ 7713 ]
/ 4階層)  Re[4]: HTTP取得の問題では
□投稿者/ とんとん 【219.121.33.142】(2009/04/20(Mon) 18:00:11)

    canotさん、こんにちは。

    レス、有難うございます。

    > 昔の経験なので今もそうなのかわかんないのですが
    >
    > データをネットワークからHTTPダウンロードしている場合
    > 相手サーバーの応答が中途半端なタイミングでなくなったり拒絶されたりすると
    > タイムアウトもできずにフリーズすることがあります
    > #僕はこの特性が嫌いでなでしこのHTTP機能を使ってません。
    > もしかするとこのせいで固まってるのではないでしょうか?

    そうかもしれませんね。
    でも毎回5000件位で落ちていたので、
    1.取り込んで
    2.HTMLの内部を削除したり、置換したり、追加したりして、
    3.HTMLファイルに保存
    の繰り返しの中でリソースを使い切って落ちているような気がしただけです。
    その後すぐ起動し直したら問題なく動いたのでサーバーが止まっているようでも
    なかったです。

    > いったん、ダウンロード機能を外して
    > ローカルにデータを用意して試してみてはいかがでしょう

    ちょっとこれかな?と思うロジックだけ抜き出して、
    それだけでテストもしてみたのですが、
    それだと何十万回回しても落ちませんでした。

    約4万件のデータは5000件ごとに起動し直して、全てダウンロード&加工して
    保存したので、現在は、追加されるデータのみ数100件を一週間毎に取りにいく
    だけになっています。これだと落ちないので、その後はあまり検証していません。

    今度、HTTP取得の所だけ「エラー監視」を入れてみて、5000件ごとに
    そこで問題が起きているかチェックしてみます。

    どこでエラーが起きているのか判別しないといつまでも気持ち悪いですからね。

    > 通信機能は別プログラムに分けると良いです。
    > (フリーズ検出したらプロセス終了すればいいですしね)

    「通信機能は別プログラムに分ける」とはなでしこの中から
    「HTTP取得の機能を持つ別のプログラム」を起動して、
    取得した内容をなでしこの文字列に取り込むと言う処理でしょうか?
    それってどうやったらできるのでしょうか?
    MS-DOSの時代によく使っていたリダイレクトの様な処理でファイルか
    変数に取り込めるのでしょうか?

    よろしければ教えてください。

    実は前にも投稿したのですがなでしこの「メール送信」が遅すぎて
    (メーラーに比べて10倍から100倍遅い)そこだけ別のプログラムに
    置き換えられないかと検討中です。

    どうぞよろしくお願いします。

    どうもありがとうございました。


    > ■No7673に返信(とんとんさんの記事)
    >>chocoさん、レス有難うございます。
    >>
    >>返信が遅くなりましてごめんなさい。
    >>
    > >>こんにちわ、とんとんさん。
    > >>
    > >>今回の質問は、あまりにも抽象的過ぎて誰も回答を返せないと思います。
    > >>とんとんさんの作成したプログラムの一部でも、ここの出さないとアドバイスは難しいんじゃないかなと・・・。
    >>
    >>今回はあちこちの関係がありますので、そのまま掲載はできませんでした。
    >>適当なホームページをサンプルに掲載しようかと思いましたが4万回(ページ)の
    >>ダウンロードを何人かの人がやると一時的にせよサイトに大きなご迷惑を掛ける
    >>のではないかと思いますのでやめておきます。
    >>
    > >>ちなみに同様の処理をやっても、私は落ちた経験がないです。
    >>
    >>例えば、amazonの商品を4万点選択して連続で検索しながら、ページ内の
    >>一部内容を置換しながら「htmlファイル」に保存する、よう処理です。
    >>
    >>適当なサンプルを作成できたらアップしますのでそのときは
    >>どうぞよろしくお願いします。
    >>
    >>
    >>
[ 親 7651 / □ Tree ] 返信 削除キー/
[ 親 7651 / □ Tree ] 返信

▲[ 7700 ] / 返信無し
/ 5階層)  相手側サーバーの問題でした
□投稿者/ とんとん 【219.121.33.142】(2009/04/25(Sat) 23:24:36)

    canotさん、chocoさん。こんばんは。

    レス&ご教授有難うございました。

    本日、HTTP取得の所に「エラー監視」を入れて、エラーならば
    アドレスをファイルに書き込んで処理をパスするようにして
    再度テストしました。

    これだと、確かにエラーがファイルに書き込まれており、
    連続実行も今、13600件を超えています。

    サーバーの応答が無くてエラーになっていたんですね。

    これなら後でエラーになったアドレスだけ再ダウンロードすれば
    済むので放っておけます。とても楽になりました。

    どうもありがとうございました。

解決済み!
[ 親 7651 / □ Tree ] 返信 削除キー/
[ 親 7651 / □ Tree ] 返信


Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版