スレッド一覧 > 記事閲覧
[244] CGIファイルの読み込みについて
日時: 2024/02/04 10:39
名前: からから ID:xa76gH02

ちらみ様、こんにちは。いつもお世話になっております。
この1年ほど、家Tサーバーを利用させて頂いている者です。
いつもスペースのご提供、ありがとうございます。

本題なのですが、こちらで設置させて頂いている.cgiファイル(Perl)に関して、先月くらいから一部のページの読み込みが遅くなっているようでして(ページによっては長くて8秒前後、読み込みまでに時間がかかるものもあるようです)、何か制限などをおかけになられましたでしょうか?
またはこちらで何か変な設定をいじってしまったのでしょうか…。
もしそちら側の設定のご都合でしたら無料で利用させて頂いている身ですのでこのままでも全く問題ないのですが、少し気になったもので質問だけさせて頂いた次第です。

置かせて頂いているサイトはほとんどのページがCGIで構成されている作りになっているので、サーバー様に負荷などをかけてご迷惑をおかけしておりましたら大変申し訳ないです…。
もしこちらのサイトに何か問題がございましたら対処させて頂きたいと思っております。

アカウント名は hobi です。

以上、もしよろしければ、ご返信をお待ちしております。
メンテ

Page: 1 | 全部表示 スレッド一覧 新規スレッド作成

Re: CGIファイルの読み込みについて ( No.1 )
日時: 2024/02/05 11:10
名前: ちらみ◆kBt3KPJY0E ID:tW9XX59.

こちらとしては特に制限等の変更は行っていないので、たまたまサーバ負荷が高かったか、誰かがコンパネでWebサイトに関する変更操作をしてReload待ちだったとかかもしれません。

その時間帯にサーバの負荷が高かったかどうかは下記で確認できるので参考にして下さい。

https://ie-t.net/server-stats/ie-t.net/www.ie-t.net/

そもそもユーザが増えてきてリソース不足が顕著になってきているため、よりハイスペックなサーバプランに変更したいところですが、財布に余裕が無いのでなかなか。。
メンテ
Re: CGIファイルの読み込みについて ( No.2 )
日時: 2024/02/05 13:06
名前: からから ID:Ug2gi82A

ちらみ様、いつもお忙しい中ご返信頂きありがとうございます!
こちらが原因で規制をかけられたという事ではなかったようで、ひとまず安心致しました…(内心ドキドキしておりました、、笑)
とんでもございません、無料でご提供くださっている事がありがたいので、今後もちらみ様のご方針での運営をして頂ければ幸いです。

念のため状況としては時間帯関係なくほぼ常時、特定のCGIページ以外は読み込みに数秒かかっているみたいです。(何となく、Perlの処理ではなくCGIの起動に時間がかかってるような…こちらのPCでのローカル環境では問題は起こっておりません)
また先ほど気がついた事なのですが、スマホのWiFiを切った状態ですと読み込みが遅かったページも普通に読み込めました。
なのでこちらの家の回線の問題かと思ったのですが、特に別のサイトが繋がりにくかったり、上記のように特定のCGIおよびHTMLファイル等は普通に読み込めます。

関係ないかもしれないのですが昨年末?あたりから、クローラー系のアクセスがすべて弾かれるようになっているみたいなのですが、何か関係はございますかね…?
お忙しいところご対応ありがとうございました。
メンテ
Re: CGIファイルの読み込みについて ( No.3 )
日時: 2024/02/05 13:50
名前: からから ID:Ug2gi82A

連続で失礼します。一応追加で補足しておきます。

cgiファイルを置いたディレクトリの階層に問題があるのかとも思い、試しに同じディレクトリ内に別の簡単なcgiファイルを置いたところ、そちらは待ち時間なくすぐに読み込めました。
特定のコマンドが原因かと思い、use(モジュール読み込み)やrequire(外部ファイル読み込み)の行を無効にしてみたりもしたのですが、変化はありませんでした。(そもそも同じくらい複雑に組まれたcgiでも正常に読み込めるものもあります)
あまりサーバー様側の環境でテストするものじゃないと思い、これ以上は試しておりません。

独自ドメインを使用しているので、ドメイン管理会社の方に原因があるのかとも思ったのですが、特に設定を変更した覚えもなく…。

また念のためサイトのアクセス者さんたちにアクセスしづらいページがあるか聞いてみて、結果を報告させて頂きますね。
もしご参考になれば幸いです。
メンテ
Re: CGIファイルの読み込みについて ( No.4 )
日時: 2024/02/05 14:29
名前: ちらみ◆kBt3KPJY0E ID:tW9XX59.

差し支えなければそのcgiのフルパスを教えてもらえますか?
私の環境からも確認できますし。
そのcgiに書かれた何らかのURLにアクセスする時にDNSの名前解決に時間がかかってるのかも、と思いました。
回線変えると症状が出なくなったということなので。

或いはWi-Fiルーターを再起動してみるとか。
メンテ
Re: CGIファイルの読み込みについて ( No.5 )
日時: 2024/02/07 21:15
名前: からから ID:KHqvuTyA

ちらみ様、ご返信頂きありがとうございます。
昨日は時間が取れず、返信が遅くなってしまい失礼いたしました;

ちらみ様のご返信を受け、自己解決することができました!
どうやらCGIファイルに記述していたコードに原因があったようです…
少し考えれば自分で解決できそうなところを、お手を煩わせてしまい大変失礼いたしました…

以下、解決した方法を記載しておきます。

CGIファイル(Perl)のアクセス者のホスト情報を取得する際の記載部分を

原文:
$host = $ENV{'REMOTE_HOST'};
my $addr = $ENV{'REMOTE_ADDR'};
if($host eq "" || $host eq "$addr"){
  ($p1,$p2,$p3,$p4) = split(/\./,$addr);
  $temp = pack("C4",$p1,$p2,$p3,$p4);
  $host = gethostbyaddr($temp, 2);
  if($host eq ""){ $host = $addr; }
}



改変後:
$host = $ENV{'REMOTE_HOST'};
my $addr = $ENV{'REMOTE_ADDR'};
use Socket qw(getaddrinfo getnameinfo);
if($host eq "" || $host eq "$addr"){
  my ($err1, @result) = getaddrinfo($addr);
  if($err1){ $host = $addr; return; }
  my ($err2, $hostname) = getnameinfo($result[0]{addr});
  if($err2){ $host = $addr; return; }
  $host = $hostname;
  if($host eq ""){ $host = $addr; }
}

このように直したら読み込み速度が改善しました。
IPアドレスの仕組み等については詳しくないためこうする事でどうして改善できたのかは理解できてない頭なのですが…。

お忙しいところお時間を取って頂きありがとうございました。
コードの記述等にもし問題が見られそうでしたらご指示のように致しますので、どうかご教示ください。

それでは、大変失礼いたしました。
ご対応頂きありがとうございました!
メンテ
Re: CGIファイルの読み込みについて ( No.6 )
日時: 2024/02/16 16:56
名前: ちらみ◆kBt3KPJY0E ID:utndJphk

(≧∇≦)b
メンテ

Page: 1 | 全部表示 スレッド一覧 新規スレッド作成

題名
スレッドをトップへソート
名前
「名前#任意の文字列」でトリップ生成
E-Mail
入力するとスレッドの通知メールを受け取れます。(非表示)
URL
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存