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

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

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

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

1818閲覧

Django製サイトのサーバー選定について

mickey

総合スコア27

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2017/05/04 15:12

現在Djangoを使ってクラシファイドサイトを開発しています。
クラシファイドといえばジモティーあたりが有名で、そこまでの規模ではないけれども1日に結構なデータが飛び交うサイトを想定しています。

サーバーの選択に関しては全くの無知で、調べるとさくらやAWS等出てきますが、上記のようにユーザーがストレスを感じない程度に速さが出て、かつDjango製で一日に結構なデータが行き来するサイトに適しているサーバーをおすすめしてください。またその理由を教えてください。

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

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

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

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

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

guest

回答2

0

違う観点からの話です。
欲している回答とは異なる内容であるかもしれません。
失礼な!そんなこと全部やった上での質問だよ!って場合はすいません。先に謝っておきます。
なので参考程度に軽くお読みください。

もちろん良いサーバーを選定することも大切なことです。
ただ、同時にユーザーがストレスを感じない程度に速さが出てという点に注目すれば、Djangoの開発の時点でクリアできるものも多々あります。
それどころか、良いサーバーを選んだところでDjango設計のせいでそれが全くの無駄になってしまうこともあります。
以下に代表的なものを長くならないように述べます。

クエリのチューニング
データベースへのアクセスはボトルネックとなる可能性がとても高い部分です
ハイパフォーマンスDjango - Model

おなじみdjnago-debug-toolbarで無駄なクエリが投げられていないかを確認し、大量のクエリを投げている部分にはselect_related()prefetch_related()を使うことでのパフォーマンスの改善は見られないか、等。
(私が開発する上ではこれで改善が見られることがほぼ大半と言っていいほどです。)
カスタムフィルターやタグの中で思いもよらないクエリが投げられていることもよくあることです。

キャッシュが正常に機能しているか
memcachedを採用していない場合、導入によって大幅に改善することもあります。
また、django-fancy-cacheのようにモデルの更新に対してキャッシュを削除したりすることで、View単位よりも柔軟にキャッシュを制御したりすることができるものあります。

上記以外にもDjangoのパフォーマンス改善の糸口はたくさんあります。
決して「あれをしたか?」「これもしたか?」と言いたいわけではなく、サーバーは最終的に選ぶしかないものですが、Django設計は自分次第でどうにでもなる、ということです。
もしかすると、サーバーを選定した後にも改善できる余地があるかもしれないということを考慮した上での運用をオススメします。

以下も参考になるかもしれません
Disqusでは80億PVを処理するためのノウハウが公開されています。(少し前のものですがかなり参考になります)。
Scaling Django to 8 Billion Page Views
Disqus のスケール - Django で月間80億PVを処理する

投稿2017/05/18 08:07

honami

総合スコア308

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

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

k_mawa82

2017/05/18 10:15

勉強になります!ありがとうございます^^ 自分のDjangoでデプロイしているものが遅くて困っていたのでnginxやuWSGIをいじろうとしていました、上記のアドバイスに沿って django-debug-toolbarで改善にチャレンジしてみようとおもいます。(恥ずかしながら、まだ使ったことがないので、すごいクエリ量になっているかもしれないです・・・)
honami

2017/05/18 10:35

いえいえ、改善されると良いです!
guest

0

ベストアンサー

Django利用者です。

ウチではAWSが今主流で、さくらさんは使ったことがないですが、

AWS
メリット:AWSはメジャーなのでの使い方の資料はたくさんネットにある 最新の取り組みの資料も得やすい

デメリット:日本語の資料は限られてるので英語の資料も読む必要があるので英語不安であれば頑張る必要あり メジャーで利用者も多いですが、全知全能ではない(AWSの中でもメジャーなS3というサービスの不具合が発生して最近ニュースにもなりましたね。)

さくら
メリット:日本語資料や、日本人スタッフの緊急時の対応が期待できる (あと機械学習とかでさくらの高火力サーバーが推されている記事を時々見るので、サイトの記事や写真を自動でAIで振り分ける機能をいつかつけたりする場合はお世話になるといいかもしれません)

デメリット:海外の人で使っている人、会社が限られていそうなので、最新の事例での使い方みたいな資料がない場合がありそうです。

めっちゃざっくりだと、そんな感じの印象です^^

投稿2017/05/18 07:11

k_mawa82

総合スコア234

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問