CGI-BBS > SO−HO > ショッピングバスケット > カーゴ523thanks.htmlの表示が遅い


カレッヂ
カレッヂ


質問者 TS  投稿日 11/30(金) 16:08:16
初心者です。カーゴ523を設置ました。
最終確認画面から注文ボタンを押しthanks.htmが表示されるまで1−3分くらいの時間がかかってしまいストレスを感じます。フォームデコード機能は正常に働いており、オーダーのメールはthanks.htmの表示に前にすでに送信されこちらについています。
次の画面に切り替わる部分に何か問題があるのかもしれません。
アドバイスよろしくお願いします。
回答者 呑兵衛@大阪  [削除]  投稿日 11/30(金) 19:57:12
まさかとは思うのですが、
sub mail の
if ($kakunin_mail) {
sleep(1);
の sleep() の値を変更していませんよね。 100とかに。
注文メールと注文者に送る控えメールが同時に来るのなら、原因はここではなく
他に問題があるかもしれません。
ひょっとして、カスタマイズしたスクリプトが無限ループに近い動作を起していることも考えられます。
この場合、サーバーには過大な負荷がかかっていますので、大いに問題があります。
カスタマイズされているのなら、できれば cargo.cgi を
<html>
<head>
<meta http-equiv="Content-Type" content="text/plane; charset=shift_jis">
<title></title>
</head>
<body>
<xmp>
ここにcargo.cgi
</xmp>
</body>
</html>
として、cargo.html などにrename後、サーバーにアップして見せてもらえれば
原因がつかめるかもしれません。
質問者 TS  [削除]  投稿日 11/30(金) 21:45:24
呑兵衛@大阪さん
お助けどうもありがとうございます。
http://www.bmpof.ch/cargo.htmに、アップして見ましたがこれでよろしいのでしょうか?
ご覧頂けますか?
sleep() については全く変更した覚えはありません。
よろしくお願い致します。
回答者 呑兵衛@大阪  [削除]  投稿日 11/30(金) 23:53:45
FrontPage を使うとCGIスクリプトが壊れてしまいます。
cargo.cgi を cargo.txt にして index.html のあるディレクトリに
何も手を加えないでUPしてください。
質問者 TS  [削除]  投稿日 12/1(土) 01:19:14
呑兵衛@大阪さん。
.textにしてアップしました。
これでよろしいのだろうか?
よろしくお願いします。
http://www.bmpof.ch/cargo.text
回答者 呑兵衛@大阪  [削除]  投稿日 12/1(土) 13:40:28
テストしましたが、スクリプト自体に問題はありません。
一つだけ変更してみて、うまく行くようならここが原因かも知れません。

#◆申込送信後の画面を表示するためのフォーマットHTML
$thanks = './thanks.html';
がcgiスクリプトと同じディレクトリにあるようですが
CGIディレクトリ以外の****.htmlが置かれるディレクトリに移動させ
$thanks = '../thanks.html';
にしてみてください。

○少々気づいた点
小計からピリオドを取り去るには(複数箇所あります)
$shokei2 = sprintf("%.1f",$shokei2); を
$shokei2 = int($shokei2); に

送料を表示するセルは一ヶ所だけではありません。5ヶ所あります。
商品アイテムのページ上で
かごが使えないときのメールオーダーのリンクにおかしなところがありました。
質問者 TS  [削除]  投稿日 12/1(土) 15:09:06
呑兵衛@大阪さま
どうもアドバイスありがとうございます。
****.htmlが置かれるディレクトリに移動させましたが、thanks.htmlまでの
作動時間は変わらないようです。
確認作業をしている間に気がついたのですが、
注文ボタンを押して待っているとまず、当方宛に注文が届きます。
その後、かなり遅れて顧客宛確認メールがでます。
その直後に最終画面に行くのですが
もしかしてここの顧客宛確認メールのところが問題なのでしょうか?
何回もお時間取らせてしまってすいません。
回答者 呑兵衛@大阪  [削除]  投稿日 12/1(土) 22:23:40
先述の
sleep(1);
を取り除いてみてください。
質問者 TS  [削除]  投稿日 12/2(日) 15:41:51
呑兵衛@大阪 さま
sleep(1);取り除きましたが、作動時間は変わらないようです。

回答者 呑兵衛@大阪  [削除]  投稿日 12/3(月) 00:13:11
考えましたが、スクリプトに異常がないので、利用されているサーバーのSMTPサーバーとの
セッションに何か独特のものがあるのかもしれません。
そちらのホームページで試させていただきましたが、各セクションの処理に比べ、
thanks.html が表示される部分だけ81.647秒かかっています。
無限ループではないようです。

ただ、スクリプトにかなりの無駄な部分と時間のかかる(と言っても秒単位です)処理が重なっ
ていたので、取り除いてみました。
http://www.kosei.nu/cargo522/kaimono.html
を試してみてください。5.22ベースのものです。
サーバーはニューヨークにあるので、通信環境は似たり寄ったりになるかも知れません。
各セクションの処理後の画面再現平均時間(NY←→大阪)は1.517秒。「送信しました」の画面が
現れるまで 2.875秒でした。
もし、処理に異常を感じられなければ、サーバー環境の違いが考えられますが、
上と同じ処理をしたものを
http://www.kosei.nu/cargo522/cargocgi.htm
に置いておきました。$reg_name と $reg_code はタイプしてください。
また、サーバーにアップしていただいたファイルは削除してください。
それから、jcode.pl はレスキューさんのものの同梱のものを使っておられると思いますが、
少し古いので最新のものにされたほうがいいと思います。
質問者 TS  [削除]  投稿日 12/3(月) 11:14:03
呑兵衛@大阪さん
どうもありがとうございます。
ニューヨークのサイト試しました。プロバイダーからのメールアドレスを記入するように指定されていましたが確認できないとのことで途中で止まってしまいました。
1)cgiコピーして実行しましたが作動しませんでした。

SMTPサーバーとのセッションに何か独特のものがあるのかプロバイダーに問い合わせしてみます。
回答者 呑兵衛@大阪  [削除]  投稿日 12/3(月) 14:21:04
domcheck.pl によって、ローミングをピックアップしたようです。
チェックをはずしましたので再度お試しを。

それから、最初の書き出し
#!/usr/bin/perl/
の上に空白行を残していませんか。残していれば動きません。
質問者 TS  [削除]  投稿日 12/3(月) 14:52:27
呑兵衛@大阪 さま
上げていただいたのはたいへんはやいですね。感動しました。
cgiをコピーして上げテストしました。
−表示にイレギュラーな部分がある
−確認メールに商品が入っていない
の問題がありすでに前のバージョンに戻してしまいました。
時間的には同じのようです。
ご指摘のように時間的に早くならないと言うのはSMTPサーバーとのセッションに何か独特のものがあるのか現在問い合わせ中です。
回答がありしだい、またアップします。


回答者 呑兵衛@大阪  [削除]  投稿日 12/3(月) 20:51:19
> −表示にイレギュラーな部分がある
おそらく、テーブルのセルのことと思いますが、項目のないところにセルを区切っていたのでは
と思い、処理しています。

> −確認メールに商品が入っていない
これは不思議。バスケットで表示されるものは、すべて入ります。
そちらの商品を少しいただいて、FORM 部分だけ抜き出して テストした結果なので、
大丈夫とは思っていましたが。
http://www.kosei.nu/cargo522/fondue.htm
がテストページです。
質問者 TS  [削除]  投稿日 12/4(火) 11:26:29
呑兵衛@大阪さま
http://www.kosei.nu/cargo522/fondue.htm
におうかがししました。
作動、表示完璧ですね。
質問者 TS  [削除]  投稿日 12/8(土) 10:25:00
呑兵衛@大阪さま
プロバイダーに問い合わせました所、セッションに問題があったようです。
現在、改良していただいております。

返信(回答)する


Web裏技