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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

4回答

3757閲覧

サイトの表示を早くするにはどうすればよいでしょうか?

Mkato

総合スコア118

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1グッド

1クリップ

投稿2016/03/01 10:52

編集2022/01/12 10:55

###前提・実現したいこと
現在作成中のサイトの表示を早くしたいです。

###発生している問題・エラーメッセージ
現在ruby on railsでサイト作成を行っておりますが、サイトの表示が遅いです。

体感でも遅いと思うのですが、Chrome DevToolsで確認しました。
TTFBが問題あるのかと考えますが、詳しくないのでよく分かってませんが。。。

トップページの表示
トップページ

フォーム入力ページ
フォーム

その他のページ(プライバシーポリシーなどの殆どテキストページ)もTTFBは6-24sになります。(ms)では御座いません。
content downloadは1-30ms程になります。

素人なりに調べるとTTFBはサーバ性能によるところが大きいので、サーバを変えた方がいいといった書き込みがあったり、キャッシュを使えば大丈夫との書き込みもあったりで。。。

サクラのVPSを利用していますが、サーバを変えた方がよいでしょうか?
それともサーバのココを確認しろ!!といった所御座いますでしょうか?

宜しくお願いします。

###サーバの状況
CentOS 6.7
ruby 2.1.3
Rails 4.2.3
nginx 1.8.0
unicorn

契約しているサーバ
sakura VPS 2G
メモリ 2GB
ストレージ 200GB(HDD)
CPU 仮想3Core

###サイトの内容
サイトはトータル10ページ程で、web上には公開していますが、他サイトからのリンク等は行っていません。
(新規ドメインで、公開したばかりと考えて頂ければと思います。)
サイトは殆どテキストでいくつかのページでお問い合わせフォームの様な物がある程度です。

###追加情報 3/2
matobaa様ご質問有難う御座います。
本サーバーのnginxに2サイト程追加してみました。
新しく追加した方でもTTFBは5S-20S 程度で遅いですね。
関係ないかもしれませんが

sudo nginx -s stop sudo fuser -k 80/tcp sudo service nginx start

で再起動も行い確認しましたが、若干早くなったのですが遅いですね。 (早くなったといっても以前より1S-3Sとかなのでタイミングの問題かと考えますが。。。)

本サーバと同じ様なものをsakura VPSの512MBにも設定してみました。
メモリ512MB
SSD:20GB
仮想1Core
こちらのTTFBの結果は400ms-5Sと早くはないのですが、2Gのよりも早いです。

ikuwow👍を押しています

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/03/01 11:08

実際のサイト乗せれば話が早いと思いますが。。
matobaa

2016/03/02 06:20

原因が nginx より前か unicornより後ろか を切り分けるため、nginx の管理下になんか小さなファイルを置いてみてTTFBを調べてみてください。有意な差はありますか?
Mkato

2016/03/02 07:06

matobaa様ご質問有難う御座います。 本サーバーのnginxに2サイト程追加してみました。 新しく追加した方でもTTFBは5S-20S 程度で遅いですね。 関係ないかもしれませんが ``` sudo nginx -s stop sudo fuser -k 80/tcp sudo service nginx start ``` で再起動も行い確認しましたが、若干早くなったのですが遅いですね。 (早くなったといっても以前より1S-3Sとかなのでタイミングの問題かと考えますが。。。) 本サーバと同じ様なものsakura VPSの512MBにも設定してみました。 メモリ512MB SSD:20GB 仮想1Core こちらのTTFBの結果は400ms-5Sと早くはないのですが、2Gのよりも早いです。
Mkato

2016/03/02 08:36

やってほしいことだけを記載した丸投げの質問との指摘を受けましたが、私の実力不足のため大変申し訳御座いません。 何の情報をどの様に書き込みさせて頂くと良いのか分かりませんでしたので、現状で私の分かる範囲での調査した事と試した事を記載させて頂いております。 現状では私の分かる範囲として、サイトの表示が遅くTTFBの時間が多く掛かっているのですが、その原因が分からず、困っているといった状況です。 もし必要な情報等御座いましたらご質問頂けると幸いです。またこの方法を試してみては?などもあれば本当に助かります。 サーバの設定等初心者ですので色々質問等の内容把握や抜けがあるかと思いますが宜しくお願いします。
退会済みユーザー

退会済みユーザー

2016/03/02 12:51

サイト見てみたけどサーバの問題だと思う、あとtokyo otaku modeってサービスあるから難しいと思うよ
guest

回答4

0

過去の経験なのですが、すべてのTTFBが12秒程度のゲタを履いた状態になっていたことがあります。
Webサーバ側でパケットキャプチャしてみて、やっと原因を突き止めました。このときは、Webサーバが問い合わせるDNSクエリの応答が遅かったことが原因でした。

https://technet.microsoft.com/en-us/library/cc782142(v=ws.10).aspx の図でいうところの左下がWebサーバであり、問合せ先のDNSサーバが上流DNSサーバに訊きに行く経路が塞がっていてTCPタイムアウトまで待たされていました。こんなのふつーわかんねぇ。と思った。
このときはDNSサーバのforwarderの設定を是正してもらって解決しました。

投稿2016/03/02 01:03

matobaa

総合スコア2493

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

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

Mkato

2016/03/02 04:10

ご回答有難う御座います。 なるほどDNSの設定の関係もあるのですね。 現状はお名前.comで取得したドメインをsakuraのDNSで設定して利用しています。お名前のipを設定した程度で何か特別な設定などはしていません。 サーバのパケットキャプチャを今まで行った事がないのですが http://d.hatena.ne.jp/addition/20130418/1366293557 こちらの記事にあるWireShark(ワイヤシャーク)を利用して行うイメージで良いでしょうか? ただブログの実行結果を見てもよく分からないので、どうしようかな。。。サーバー屋さんにお願いするといった感じでしょうかね。。。
matobaa

2016/03/02 05:52

さくらのVPSって使ったことないのですが、たぶんGUI画面がなくてCLIでしか操作できないんですよね。そうだとしたら、Webサーバ側ではキャプチャした結果をファイルに吐きだして、手元のGUIがある環境のWiresharkで開いて観察するのがよいと思います。 http://qiita.com/tossh/items/4cd33693965ef231bd2a を参考に、Webサーバ上で tcpfump host DNSサーバのIPアドレス > dnsquery.cap とか実行してやれば、Webサーバ⇔DNSサーバの通信だけをピンポイントで取得できます。 (こうしないと ssh とかのパケットもじゃんじゃん撮っちゃうので都合が悪い) 取得したファイルを手元に持ってきたら Wiresharkで開いてみて、DNSのリクエストとリプライのあいだに奇妙な間隔があいていればクロです。
Mkato

2016/03/02 07:16

ご回答誠に有難う御座います。 頂いた方法で試してみたいと思います。 併せましたて"情報の追加・修正の依頼"のご質問のご回答を本文にも追加しましたのでご確認頂けると幸いです。 結果を申し上げますと本サーバのnginxに追加で2サイト程設定しましたが、追加したサイトでもTTFBは遅いのでnginxが怪しいのかなーと。。。 宜しくお願いします。
guest

0

リンク内容
パラメーター変えただけで他のユーザの住所見えちゃうんだけど、基本的なことができてないからちゃんと勉強したほうがいい

投稿2016/03/03 09:20

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

情報量が少ないので何とも言いがたいですが、とりあえず下記を参考に調査するといいと思います。

  • サーバが重い時にすること

http://qiita.com/yuku_t/items/2f5341e4aa635800a0a1

HDDの容量が多くない気もするので下記のコマンドも合わせて調べてみると良いかと

  • ディスク使用量を調べる
$ df -ah

これは全くの勘なんですけど、unicornのログってデフォルトではログローテーションがされないと思うので、もし設定していないようであれば、unicornのログが圧迫しているのでは無いのかなと。。。

まあ、上記のコマンド等で調べてみないと何ともいえませんが。。。

投稿2016/03/01 14:48

kitaro_tn

総合スコア49

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

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

Mkato

2016/03/01 16:11

ご回答有難う御座います。情報量少なく大変申し訳御座いません。 VPS及びサーバ周りはさっぱりでして何を情報としてお伝えすれば良いのか分かりませんでして。 まず頂いたURLにてまずロードアベレージを調べてみました。 ``` $ uptime 00:20:26 up 98 days, 10:02, 2 users, load average: 0.38, 0.55, 0.75 ``` ``` $ uptime 00:25:31 up 98 days, 10:07, 2 users, load average: 0.41, 0.41, 0.62 ``` ``` $ uptime 00:27:11 up 98 days, 10:09, 2 users, load average: 0.63, 0.44, 0.61 ``` 短期間のみですが、何度か調べるも1以下なので、頂いたURLの中にある "ネットワークの問題や、リモートホスト(例えばWebサーバとDBサーバが別ホストにあって、Webサーバのロードアベレージが低いなら、DBサーバを疑ってみるみたいな)に原因がある可能性" との事でnetstatコマンドをするも、表示された内容がよく分からずです。。。 併せて頂いた df -ahのコマンドも行いました。 ``` $ df -ah Filesystem Size Used Avail Use% Mounted on /dev/vda3 195G 3.2G 182G 2% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts tmpfs 939M 0 939M 0% /dev/shm /dev/vda1 239M 58M 168M 26% /boot none 0 0 0 - /proc/sys/fs/binfmt_misc ``` HDDの容量は200GB(195G)あり現在2%程の使用なのでこちらは大丈夫なのかなーと。 unicornのログも影響があるかもなのですね。一旦全てのログを消してみます。 (サーバー上にUPしたてのサイトですので5.2KB程になります。素人なのでこの辺り理解が乏しいのですがunicornのログはサーバを立ち上げる時のログかと思いますので、それほど大きな容量にならいのかなーと考えるのですが、私は違う所をみていますでしょうか? development.log(現状は3MB程)は増えていっています。) 一旦unicornログを消して、停止させて、起動しました。 気持ち早くなったかなーとは思いますが、さほど変わらずで。。。Chrome DevToolsで確認しましたが現状と同等程度か少し早くなっているかなーと。10-15S程です(ms)では御座いません。 情報少ないなか色々考えて頂き有難う御座います。 他にもココを見てみては?といった所があれば幸いです。
guest

0

搭載メモリが少ないようですので、メモリが足りてないのではと思います。
freeでメモリ使用量が著しく減っていないかを確認してみてください。

投稿2016/03/01 12:53

miyamiya

総合スコア691

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

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

Mkato

2016/03/01 13:49

ご回答有難う御座います。 初めてfreeのコマンドを入力してみました。 以下短期間で何度か実行してみました。 1) freeのMemはあり、Swapが0の時。 ``` $ free total used free shared buffers cached Mem: 1922072 1868696 53376 88 2828 3268 -/+ buffers/cache: 1862600 59472 Swap: 2097148 2097148 0 ``` 2) freeのMemとSwap両方余裕?がある時。 ``` $ free total used free shared buffers cached Mem: 1922072 1853688 68384 88 324 8056 -/+ buffers/cache: 1845308 76764 Swap: 2097148 2059500 37648 ``` 3) freeのMemは余裕?とSwapは少ない時。 ``` $ free total used free shared buffers cached Mem: 1922072 1628356 293716 88 7840 38496 -/+ buffers/cache: 1582020 340052 Swap: 2097148 2097144 4 ``` Mem及びSwapが0になっていなければ大丈夫なのかなーと考えますが、如何でしょうか? 1の時はSwapが0なのですが、Memはまだ余裕?があるので大丈夫なのかな?と考えますが。。。 この辺りの知識が全くなので把握出来ていませんががメモリ不足でしょうか? 宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問