0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

webサイトのスペックを決めれるようになる

0
Last updated at Posted at 2026-06-26

例えば、現場で先輩が

「このサイトなら4コア・8GBで十分かな」

と言うとき、実は頭の中ではこんなことを一瞬で考えています。

CPUは足りる?

↓

PHPは何本動く?

↓

DBは耐えられる?

↓

キャッシュ効く?

↓

同時アクセスは?

↓

じゃあ4コアで十分そう

つまり、一番最初にインスタンスタイプを覚えているわけではありません。


私ならこう勉強する

第1段階 コンピュータの仕組みを理解する(2週間)

目的

CPUは何をしているのか説明できる

学ぶこと

CPUとは

↓

コアとは

↓

スレッドとは

↓

メモリとは

↓

SSDとは

理解できるようになること

例えば

CPU100%

とは何か

を説明できる。

また

4コア8スレッド

とは何か

も説明できる。

実際に見るコマンド

lscpu

nproc

cat /proc/cpuinfo

top

ゴール

例えば

このEC2は

4コア

8スレッド

メモリ16GB

です。

と言われたら

「どんなコンピュータか」

イメージできる。


第2段階 Linuxを理解する(2週間)

目的

CPUの上で何が動くのか

学ぶこと

プロセス

↓

スレッド

↓

スケジューラ

↓

Load Average

見るコマンド

ps

top

htop

pstree

pidstat

ゴール

例えば

php-fpm

20個

いたら

「20プロセス動いている」

と分かる。


第3段階 nginxを理解する

目的

HTTPを受ける人

学ぶこと

Worker Process

↓

Worker Connections

↓

KeepAlive

↓

イベント駆動

理解できること

例えば

worker_processes auto;

これを見て

「CPUコア数に合わせる設定だ」

と言える。


第4段階 PHP-FPM

ここがWordPressで一番重要です。

目的

WordPressを誰が動かしているか

学ぶこと

pm

pm.max_children

pm.start_servers

pm.max_requests

理解できること

例えば

pm.max_children

40

なら

PHPは

40本まで同時実行

と分かる。


第5段階 WordPress

ここからやっと業務になります。

目的

WordPressがどこでCPUを使うか

理解する。

学ぶこと

WordPress

↓

PHP

↓

SQL

↓

HTML生成

理解できること

例えば

検索

↓

CPU高い

理由が説明できる。


第6段階 同時アクセス

ここが設計者になります。

例えば

100req/s

見たら

考えることは

処理時間

200ms

なら

100

×

0.2

=

20

つまり

20本PHPが同時実行

これを計算できるようになる。

これが一番重要です。


第7段階 キャッシュ

ここで

CDN

Redis

FastCGI

OPcache

全部が繋がります。

例えば

FastCGI

↓

PHPが動かない

Redis

SQL行かない

CDN

EC2まで来ない

全部

何を減らしているか

を理解します。


第8段階 インスタンスタイプ

ここで初めて

t4g.large

m7i.large

c7i.large

r7i.large

を見る意味があります。

考えることは

CPU重視?

メモリ重視?

ネットワーク重視?

です。


第9段階 設計

最終的には

サイトを見た瞬間に

WordPress

↓

PV

↓

req/s

↓

キャッシュ率

↓

CPU

↓

Memory

↓

DB

↓

EC2

これを考えます。


毎回この質問をする癖を付ける

これが一番おすすめです。

サイトを見るたびに

① CPUは何してる?

② メモリは何で使われる?

③ PHPはいくつ動く?

④ SQLは何回実行?

⑤ キャッシュ効く?

⑥ 同時アクセス何人?

⑦ 一番重い場所どこ?

⑧ どこ改善する?

この8個だけ考えます。


私なら半年かけてこの順番で勉強する

テーマ 最終的に説明できること
1か月目 CPU・コア・スレッド・Linuxプロセス CPU使用率やLoad Averageを見て、何が起きているか説明できる
2か月目 nginx・PHP-FPM リクエストが来てからPHPが実行されるまでの流れを説明できる
3か月目 WordPress・MariaDB どんな処理でCPUやDBに負荷がかかるか説明できる
4か月目 キャッシュ(OPcache、Redis、FastCGI Cache、CDN) 各キャッシュが「何を省略しているか」を説明できる
5か月目 負荷試験・ログ解析 負荷テストの結果からボトルネックを見つけられる
6か月目 AWS設計(EC2、ALB、RDS、CloudFront) 「このサイトならこの構成・このインスタンスを選ぶ理由」を説明できる

一番大切な目標

「CPUとは何か」を覚えることでも、「EC2の種類」を暗記することでもありません。

最終目標は、サイトを見たときに「どこが先に限界になるか」を頭の中でシミュレーションできることです。

それができるようになると、

  • 「このサイトはCPUよりDBが先に詰まりそう」
  • 「ここはFastCGI Cacheを入れる方がEC2を大きくするより効果がある」
  • 「同時アクセスが倍になっても、キャッシュヒット率が高いからまだ耐えられる」

というように、設計や障害対応で根拠を持って判断できるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?