8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPでWEBを作るときのメモリ使用量について

Last updated at Posted at 2016-04-23

一般的なwebアプリケーションを作る際、どういったケースでメモリ使用量を気にすればいいかがあまり解っていなかったので、よくありそうなケースで測定してみた。

結論

  • 扱うデータによる(なので画像処理は結構使用する)
  • バッチ処理時はどのタイミングでリセットされるかを考慮しておいたほうがいい

使用量の取り方

測定箇所の前後でmemory_get_usageを呼び出し、差分をとる。
http://php.net/manual/ja/function.memory-get-usage.php

基本仕様

  • 関数を抜ける際に、参照数が0のものはリセットされる。

ケース

DBから数件データを取得して、表示する

例)cakephpのブログっぽいサイトでのデータ取得時
10件: 100KB
100件: 800KB

単純にデータの量が反映される?
普通に1ページ分の表示量なら考慮する必要がないレベル.

アップロードされたファイルをサーバー上に保存する

tmpフォルダに保存されたファイルを指定ディレクトリに移動するだけなので、メモリ使用なし

画像のサムネイルを作成する

いくつか試してみた結果、元の画像サイズ * 10ほどメモリを使用している?
仮説: 元画像のビットマップ容量 + サムネイル画像のビットマップ容量

バッチ処理

扱うデータによる。
一度に大量のデータを処理する場合はそのデータ分だけメモリを使うことになる。
メソッドを分割することで、ピーク使用量は抑えられそう。

参考

8
7
1

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
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?