質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

3回答

11970閲覧

curlが最後で止まる原因について

退会済みユーザー

退会済みユーザー

総合スコア0

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

0グッド

1クリップ

投稿2015/09/17 13:48

普段はアプリ開発を行っているものです。
自社サイトが急激に重くなったためメンテナンスを依頼されました。

とりあえずcurlで取得してみたところ、htmlはそこそこ早く表示されますが
最後の</html>からコマンドの終了までにやけに時間がかかります。
この場合どういった事が原因として考えられるでしょうか。

サーバはAWSのシンガポールリージョンなのでそれも原因なのかもしれません。
どなたかご助言頂けますでしょうか。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

以下の点を調べてみては。

  • Connection: keep-alive
  • Transfer-Encoding: chunked (最後のチャンクが届いてない?)
  • Content-Length (chunkedといっしょに使ってしまってないか?)

curl -D - で出力されるヘッダ情報をホストが分からない形で添付すれば、何か分かるかもしれません。
ただ、curlでhtmlだけ取得して最後で止まるということは、その他のコンテンツ(jsやら画像やら)は関係ありませんよ。

投稿2015/09/18 10:48

sharow

総合スコア1149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

megmilk

2015/09/18 13:53

ご回答ありがとうございます。 jsや画像は関係ない、確かにそうですよね。 -Dを付けてみたところ下記のような結果となりました。 HTTP/1.1 200 OK Date: Fri, 18 Sep 2015 13:31:09 GMT Server: Apache/2.2.14 (Ubuntu) X-UA-Compatible: IE=EmulateIE7 Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html; charset=utf-8 keep-aliveが無いのが原因なんでしょうかねぇ。 明日からしばらく休みなのでconfを確認出来ないのが痛いところです。
sharow

2015/09/18 15:03

Transfer-Encodingがchunkedですね。chunkedの場合、最後のチャンクであることを示す[0バイトのチャンク(terminated by a final chunk of length zero)](https://en.wikipedia.org/wiki/Chunked_transfer_encoding)がくるはずです。curlは</html>の後に最後のチャンクを待機しているのかもしれません。
megmilk

2015/09/18 17:06

ご回答ありがとうございます。 curlの動作を見る限りその推測でビンゴな気がしています。 apacheの設定で解決出来るんですかね。 もう少し自分でも調査してみます。
guest

0

-0 オプションを付けても待ちが発生しますか?

chromeのデベロッパーツールのTimelineで各要素毎の経過時間が見れます。
FireFoxのFireBugのNetでも同様にみれますので、そちらでも試してみると
意外とファイルダウンロードだったり、javascriptのバックエンド処理待ちや
DNS lookup待ち、他サイトの応答待ちなど色々見えてきます。。。

投稿2015/09/17 15:17

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

megmilk

2015/09/17 15:38

回答ありがとうございます。 不思議な事に遅くなったり早くなったりするんですよね。 遅い時は-oを付けても同じように待ちが発生します。 chromeのデベロッパーツールで見ると各種jsはそれほど遅い訳じゃないようで 最初のデータが転送されるまでが遅くなっているようです。 もう少し調査してみます。
Ken.sakanakana

2015/09/17 15:42

-0 (ゼロ) ですが、あっていましたか? http/1.0 で通信させるのが目的となります :-)
Ken.sakanakana

2015/09/17 15:49

chromeの拡張機能で、pagespeed insights というのがあります。 かなり詳しく解析してくれるので、非常に便利です ;-) chromeのデベロッパーツールを起動してtimeline表示の際に、 ctrl+rを押してと表示されますので、押すと解析が開始されます。
megmilk

2015/09/18 06:15

何度もご回答ありがとうございます。 デベロッパーツールで見たところ、htmlのTTFBまでに時間がかかっていました。 ただjsの実行速度自体はそれなりに早いみたいです。 そんな事ってあるんでしょうかね。
guest

0

生の html ファイルでしょうか、それとも、php 等の動的ファイルでしょうか。
php 等であれば、

php

1<?php 2echo 'reply';

のようなファイルだとどうでしょうか、画像だとどうでしょうか。
私ならそのように切り分けします。

AWS ログイン可能なら、プロセスやメモリの状況を合わせて確認すると思います。

投稿2015/09/18 06:07

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

megmilk

2015/09/18 06:17

ご回答ありがとうございます。 生のhtmlです。 確かにリソース不足も考えられますね。 とはいえ深夜にアクセスしても遅くなったり早くなったりしていましたw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問