毎日が86400秒の残り時間

ビル・ゲイツのように計画実行のスピードを上げる

焦らず、しかし休まず、星のように己がまわりを巡れ
(ヨハン・ヴォルフガング・フォン・ゲーテ)

Webサイトの高負荷対策

記事を書いてたら、途中で消えたorz

 

Webサイトの高負荷対策のアイデアをメモ。

 

サーバーのソフト、設定で対応する。

=コンテンツは特にいじらなくてもOK=楽?

  • Nginx、Varnishでキャッシュする。
  • CDNを使う。無料→有料で段階的に様子見?

 

静的ページ

静的ページと動的ページを分離して、管理する。

サブドメインで分けちゃうとか?)

 

静的サイトジェネレーターを導入する。 

qiita.com

 

サイト内検索

実装コストの割に、必要性を感じない。

  • 30%のユーザーしかサイト内検索は使わない
  • 検索ファーストなサービスは別(ECサイトとか)
  • その30%はその後どうするのかというと、オーガニック検索で欲しい情報を探す(と、思う。これは主観です。HUGO install で検索とか)

それでも導入したい場合は。

  • Algoliaを使う。
  • Hexoを使い、hexo-generator-searchを導入する。
  • VuePressを使う(デフォでAlgoliaに対応)

 

blog.lorentzca.me

 

Algoliaの仕組みは、検索対象にしたいデータをjson形式でアップロードしておいて、それに対してapiでアクセスして検索実行するというもの。

 

無料

  • 有料に比べ機能に制約がある
  • サイトに設置する際はAlgoliaのロゴを一緒に表示しなければならない

有料

  • 無料版に比べなんか多機能な感じ(こなみ) 

 

サイト内検索は、ElasticSearchを自前で用意しておけばOKだな?

 

課題:静的サイトジェネレーターの調査

 

動的ページ

オンプレミス+VPSクラウドを混ぜたハイブリッド構成にしたい。

=料金を節約w

 

  • アクセス:少 → VPSでまかなう。
  • アクセス:多 → クラウドに散らす。

 

コンテナ技術で、サーバーをシームレスに移動できるようにしておく。

  • とりあえず、DockerでOK?

(Dockerのセキュリティー、性能の劣化は大丈夫かな?)

 

ロードバランサーアルゴリズムを自作

ロードバランサーで、アクセスを割り振る。

ロードバランサーは、自作する。

ロードバランサーにAIを搭載する。(深層学習、機械学習

DDoS攻撃など、ボットは遮断する。(404とか?)

 

とりあえず、そんなかんじでOK?

 

 

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

 

 

Google Cloud Platform エンタープライズ設計ガイド

Google Cloud Platform エンタープライズ設計ガイド

 

 

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門