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
|