オーバーヘッドとは

オーバーヘッド(overhead)とは、コンピュータが何かをする上で一緒に発生する他の処理や負荷のことを言う。

オーバーヘッドは、頭上や間接費などの意味を持つ言葉だが、コンピュータの分野では間接的という意味で使われている。

基本的には、プログラムが動いている時間とは別に発生した時間、プログラムが動くために間接的にしか関係のない記憶領域、などの意味合いになるようだ。これらをまとめると、プログラムが行う作業のために、間接的に生じる余計な処理や負担のこと、という意味になる。

例えば、何らかのプログラムを実行する際に、セキュリティー対策を施したとする。この場合は、セキュリティー対策がオーバーヘッドとなる。とはいえ、個人でひっそりと使うものでない限り、普通はセキュリティー対策をするものではあるが。しかし、こういうものはプログラムを作った人や組織の方針、サービスの性質などによって、完璧を目指す場合もあれば、一般的なセキュリティー対策で済ませてしまう場合もある。特に入力フォームを使わないサイトなら、一般的なシステムで多分、対応できると思う。きちんと対策したほうが良いのは確かだが。

オーバーヘッドは、一般的には、本来の処理にプラス、余計な負荷がかかることを言う。この場合、余計な負荷であるオーバーヘッドはなるべく小さくしたほうが良い。しかし、必要な処理はきちんと加えよう。

ちなみにphpMyAdminの管理画面を使ったデータベースでもオーバーヘッドの項目がある。こちらは、データの更新が繰り返し行われることで発生する、断片化したデータを格納したものだ。オーバーヘッドが蓄積されると、サイトの表示が遅くなったり、重くなったりする。通称、ごみデータと言われているものだ。

オーバーヘッドの意味を簡潔に説明すると

プログラムを実行する際にやらなければならない余計な仕事。