ファイルサイズとは?

 ホームページを利用するとき、通信回線やパソコンの種類によっては、画像のサイズが大きいと、表示に時間がかかったり、表示されなかったりします。ホームページに画像を載せるときは、
できるだけサイズを小さくするようにしましょう。ファイルサイズは、画像編集ソフトで圧縮率を高くしたり、使用する色の数を減らすことで小さくすることができます。
 ただし、サイズにばかりこだわって、内容がわからなくなるほど画質が落ちないようにしてください。
 詳細な画像を表示したい場合は、画像ファイルのサイズを明記して、利用者が表示するかどうか選べるようにします。
ほとんど圧縮されていない画像です。画質は鮮明ですが、回線の種類によっては、表示に30秒近くかかってしまいます。
ファイルを圧縮したので、そのまま保存したものにくらべてサイズは約5分の1になり、表示時間も短くなります。画質も大きく損なわれていません。
サイズの大きい画像を載せたい場合は、見本の小さな画像とファイルサイズを表示しておいて、利用者が選択できるようにします。
 ホームページで使われる背景画像の中には、文字を読みにくくする色使いのものや、サイズが大きいために、なかなかページが読み込めないものがあります。
 背景画像の色やサイズを変更したり、使用をとりやめるなど、文字が読みやすくなるようにしましょう。
※この例示にはスタイルシートを使用しています。背景画像が表示されない場合は「背景画像(テーブル版)」をご利用下さい。
「島根県ホームページ作成ガイドライン」第3版では、多様化する利用環境等についての具体例をあげることにより、アクセシブルなホームページづくりに対する考え方をより明確にしました。また、ホームページコンテンツを作成する際の技術的な基準についても、できるだけ多くの項目を取り上げて説明しました。
「島根県ホームページ作成ガイドライン」第3版では、多様化する利用環境等についての具体例をあげることにより、アクセシブルなホームページづくりに対する考え方をより明確にしました。また、ホームページコンテンツを作成する際の技術的な基準についても、できるだけ多くの項目を取り上げて説明しました。
背景画像の色と文字のコントラストをはっきりさせて、文章が読みやすくなるようにします。また、特に必要でない背景画像は、使用をとりやめます。
「島根県ホームページ作成ガイドライン」第3版では、多様化する利用環境等についての具体例をあげることにより、アクセシブルなホームページづくりに対する考え方をより明確にしました。また、ホームページコンテンツを作成する際の技術的な基準についても、できるだけ多くの項目を取り上げて説明しました。
「島根県ホームページ作成ガイドライン」第3版では、多様化する利用環境等についての具体例をあげることにより、アクセシブルなホームページづくりに対する考え方をより明確にしました。また、ホームページコンテンツを作成する際の技術的な基準についても、できるだけ多くの項目を取り上げて説明しました。
 ファイルをダウンロードできるようにする場合は、ファイルの種類とファイルサイズを記述しましょう。

[ 141] ファイルサイズ
[引用サイト]  http://www.pref.shimane.jp/gl/04_size.html

こうやって作成した巨大なファイルを使うと、システムのパフォーマンスやネットワークの性能測定、負荷テストなどが行える。
Windows XPではコマンド・プロンプト上で利用できるツールとして、「fsutil.exe」というコマンドが用意されている。コマンドの概要については別稿の「Windows XPの正体 強化されたコマンドライン・ツール―2.ディスク/ファイル関連ツール」を参照していただきたいが、主にファイル・システムに関するさまざまな操作ができるようになっている。
fsutilにはサブコマンドがいくつか含まれているが、その中に「指定されたサイズのファイルを作成する」という非常に単純な機能のコマンドがある。使い方は次の通りである。
サイズ:作成するファイルのサイズ。10進数で指定する。最大サイズは対象となるファイル・システムによる。
このコマンドでは、指定された名前のファイルを、指定されたサイズで作成する。「サイズ」は10進数で指定するので、例えば10Gbytesちょうど(=10,737,418,240)のファイルtestfileを作成するには、次のようにする。
「ファイル名」には、ローカルのディスク上のファイルだけでなく、リモートのファイル・サーバ上のファイル名やUNCなども指定できる。fsutilはWindows XPでしか利用できないが、ファイルを作成する対象となるマシンはWindows XPでなくても構わない(Windows XP上の%windir%\system32\fsutil.exeをWindows 2000へコピーしても動作はするようだが、このような使い方はライセンス違反である)。
作成されるファイルの中身は、すべてゼロで埋められる。16進数でいうと、0x00というバイト・データばかりが詰まったファイルとなる。ほかの値を指定することはできない。
このコマンドを使ってファイルを作成する場合、対象となるファイルがNTFSボリューム上ならば、どんなに大きなファイルでも、すぐに作成される。ただしディスク上の空き領域が少なかったり、非常に低速なマシンなどを使っていたりするとしばらく待たされることがあるが、それでもせいぜい数秒以内で作成されるようである。NTFSの場合には、ファイルのブロック(クラスタ)を予約するだけで、実際にファイル・データを書き込むわけではないからのようだ(次回読み出すときには、ゼロ・データを返しているようである。いったんデータを書き込めば、次回は実際にそのブロックを読み出すことになる)。ただしスパース・ファイルと違って、実際にファイル・データのためのブロックは割り当てているので、ディスクの空き領域は作成されたファイルの分だけ減少する。
これに対して、FATファイル・システム上にファイルを作成した場合は、実際にディスクへの書き込みが発生する。リモートのファイル・サーバ上のファイル名を指定してfsutilを実行すると、すぐにコマンドの実行が完了するので、ファイルがすぐに作成されたように見えるかもしれないが、実際にはその要求はリモートのサーバ側でキャッシュされてから実行されている(遅延書き込みされている)。そのため、作成したファイルをすぐに利用しよう(読み出そう)としても、ファイルの作成(ゼロ・データの書き込み)が完全に完了するまでは、次の読み出しコマンドなどは待たされる。
またFATファイル・システム上では、ファイル・サイズの最大値は4Gbytes未満に限定されているので、4Gbytes以上のファイルを作成することはできない(ファイル・サイズの制限については「TIPS:ファイル・システムの制限―2G/4GBytes超のファイルに注意―」参照)。
このように、fsutilコマンドを使えば巨大なファイルを簡単に作成できるが、いったいそれが何の役に立つのか、とお考えかもしれない。いろいろな使い方があるのだが、代表的なものとしては、ファイル・システムやOS本体、ネットワークなどに対する負荷テストやパフォーマンス(転送速度)測定などが挙げられる。また変わったところでは、ディスク上の特定の領域を予約したり、後で利用するために一時的にディスク上の場所や領域を確保したりしておく(それらの領域を利用する直前にファイルを削除する)という用途もある。以下、いくつか簡単に紹介しておくが、これ以外の用途に使うのももちろん自由である。
最もよく使われると思われるのが、ディスクやファイル・システムなどの読み書き速度のテストだろう。巨大なファイルを1つ作成して、それをコピー・コマンドやエクスプローラのコピー機能を使って、さまざまな場所にコピーすることにより、ファイル・システムやディスク・システム、そしてそれを制御するシステム全体のパフォーマンス測定などが可能になる(ディスクとの転送速度だけでなく、CPUの使用率なども測定できる)。このような測定を行う場合は、なるべく大きなファイルを使わないと誤差が出るので(時間の測定誤差もあるし、OSのディスク・キャッシュに入りきるような小さなファイルでは、ディスクの実際のアクセス速度を正しく測定することはできない)、fsutilで素早く作成できる巨大なファイルは、テストには好都合である。また、一気に巨大なファイルが作成されるので、ファイルそのものに含まれるフラグメントも最小になり、測定誤差を低減させることができる。
なお、コピーに要する時間を測定するにはストップウォッチで手動測定してもよいが、例えばコマンド・プロンプトに秒を表示させるようにしておけば(「prompt $p $t$g」を実行しておく)、コピーに要する時間を簡単に測定できるだろう。また分単位でよければ、次のようにすれば、コピーの前後の時間を表示させることができる。
※「time /t」は現在の「時:分」を表示させるコマンド、「&&」はコマンドの連続実行を表す。
注意:すでに述べたように、NTFS上にファイルを作成した場合は、実際にはディスクへのアクセスを行うことなくファイル(ゼロ・データ)を読み出すことに注意していただきたい。そのため、必要ならばいったん別のファイルをコピーしてから(これならば確実にディスクからの読み出しが行われる)、測定に使うとよい。
以上のようなファイルのコピーのテストを、ネットワーク越しに行えば、ネットワークのパフォーマンスをテストすることができる。ネットワーク帯域の消費の具合や、ファイル・サーバのCPU負荷、ディスクのI/O負荷などを調べることができるだろう。ローカル側のハードウェアの影響を受けないようにするには、例えば「copy remote-file nul」とすればよい。これならばネットワーク経由で読み出したファイルの内容は単純に捨てられるだけである(NULデバイスに書き込むことは、データを捨てるのと等価)。
また巨大なファイルを(複数のマシンから)連続して読み出せば(ファイルとして読み出してもよいし、ftpなどで「get remote-file nul」としてもよい)、ネットワークを含むシステム全体の負荷テストにもなる。
このコマンドを使って作成したファイルの中身は、すべてゼロ・データである。そのため、圧縮させると非常に小さなサイズにすることができる。NTFS上に作成したファイルを圧縮/解凍させてみれば(エクスプローラで「圧縮属性」を付け外ししてみるか、コマンド・プロンプト上でcompactコマンドを使う)、圧縮/解凍に要するCPU性能などの見積もりができるだろう。
なお、圧縮ボリュームや圧縮フォルダ中に直接fsutilでファイルを作成しても、作成されたファイルは圧縮されない。fsutilで作成したファイルを圧縮するには、上で述べたような操作を行う必要がある。
Windows 2000やWindows XPでは、FAT32で作成されたボリュームをconvertコマンドを使ってNTFSボリュームに変換することができる。NTFSではMFT(Master File Table)という、一種のルートとなるインデックス領域が必要になるが(別稿の「NTFSではフラグメントは発生しにくい?―NTFS基礎のキソ」参照)、このMFTがフラグメントを起こしていると、NTFSのパフォーマンスを最大限に発揮することができない。
最初からNTFSとして作成されたボリュームならばMFTがフラグメントを起こす心配はないが、FAT32から変換したボリュームでは、場合によっては(空き領域が少ないと)フラグメントを起こす可能性がある。
このような事態を避けるには、あらかじめfsutilでMFT用の領域を作っておき(ファイルとして作成しておけばよい)、convertコマンドの引数にそのファイル名を与えるとよい。fsutilで作成されたファイルはフラグメントが最小限に抑えられているからだ。convertコマンドは、与えられたファイルをMFT用の領域として使用することができる。MFTとして必要なサイズはボリューム・サイズやファイル/フォルダの総数にもよるが、ボリューム・サイズの1割もあれば十分である。余分な部分はconvertが空き領域として解放してくれる。MFTのサイズの見積もり方や具体的な操作方法については、[スタート]メニューの[ヘルプとサポート]で「convertコマンド」を検索して、その解説を参照していただきたい。
SharePoint2007のMOSSのデータ管理を理解する (2007/11/15) SharePointのMOSSのデータ管理について解説。ドキュメントを管理するためのドキュメント・ライブラリの使い方を学ぶ
柔軟性と機能性を大幅に高めたIIS 7.0(前編) (2007/11/14) Windows Server 2008に標準搭載のIIS 7.0は、モジュール構造の採用や環境情報の一新などさまざまな改善を図っている
第99話 メールしたでしょ? (2007/11/13) がー、はっはっは! キミのところは何通だい? えっ? 30通くらい? そりゃ少ないねぇ。うちは毎日、ゆうに500通は超えてるかねぇ
ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン
@ITトップ|Windows Server Insiderフォーラム トップ|会議室|利用規約|プライバシーポリシー|サイトマップ

[ 142] @IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法
[引用サイト]  http://www.atmarkit.co.jp/fwin2k/win2ktips/243largefile/largefile.html

ページ・ファイル・サイズは、大きくても物理メモリ・サイズの2倍程度までになるようにメモリを増設するとよい。
周知のとおり、Windows 2000/Windows XPには仮想メモリ・システムが搭載されており、PCに物理的に搭載したメモリ・サイズを大きく超えた仮想メモリ空間を利用して、多数のアプリケーションを同時実行することができる。この仮想メモリ・システムは、ハードディスクの一部を、あたかも物理メモリの一部であるかのようにして使用し、仮想的なメモリ空間を作り上げる技術である。Windows 2000/Windows XPは、現在メモリにロードされているプログラム・コードやデータのうち、当面使いそうもない部分をハードディスク上に用意したファイルに一時的に待避して、それらが占有していたメモリ領域を解放する。こうして一時待避したデータが再度必要になった場合には、逆にディスクからメモリにロードし直す(このとき必要なら、別のメモリ領域をディスクに一時待避する)。
仮想メモリ・システムにおける、この物理メモリ←→ディスク・ファイル間のデータ交換はスワップ(swap。「交換する」の意)と呼ばれ、特に物理メモリからディスクへのデータの書き出しはスワップ・アウト(swap out)、逆にディスクからメモリへのデータの再読み込みはスワップ・イン(swap in)と呼ばれる。PCが搭載するIntel x86プロセッサには、仮想メモリ・システムを構築するために、プロセッサ自身にページング(paging)と呼ばれる機能が備えられている。このページング機能は、物理メモリを4Kbytes単位のブロックに分け(この1つのブロックを「ページ」と呼ぶ)、ページ単位にスワップを行う。
Windows 2000/Windows XPは、スワップ用のファイル(以下ページ・ファイル)として、ハードディスクのルート・ディレクトリ上に「pagefile.sys」というファイルを作成する。ただしこのファイルには「隠しファイル」属性が付けられているので、エクスプローラの[フォルダ オプション]の[表示]タブ−[ファイルとフォルダの表示]を[すべてのファイルとフォルダを表示する]に変更しなければディレクトリ一覧には表示されない。なおWindows 2000/Windows XPでは、複数のドライブにページ・ファイルを配置し、これらを同時に利用できるようになっている(デフォルトでは、Windows 2000/Windows XPがインストールされている起動ドライブが使用される)。
Windows 2000/Windows XPでは、デフォルトで搭載物理メモリの1.5倍のサイズのページ・ファイルが作成される。従って例えば、システムに搭載されている物理メモリが128Mbytesなら192Mbytes、256Mbytesなら384Mbytesのページ・ファイルが作成される。単純計算では、物理メモリとページ・ファイルを加えた容量が使用可能な仮想メモリ・サイズになるので、デフォルトでは物理メモリの250%(2.5倍)までの仮想メモリが使用可能ということになる。そして、大量の仮想メモリが必要となり、実行時にページ・ファイルが足りなくなったときには、ダイナミックにページ・ファイルのサイズが拡大されるようになっている。ただしシステムで使用する仮想メモリ・サイズがおおよそ分かっているなら、ページ・ファイル・サイズを固定してしまったほうが効率がよい(「Windows TIPS:ページ・ファイルによるディスクのフラグメントを防止する方法」)。
システムで必要となる仮想メモリ・サイズを知りたければ、タスク・マネージャの[パフォーマンス]タブに表示される値を確認すればよい。タスク・マネージャを起動するには、[Ctrl]+[Shift]+[ESC]キーを押すか、タスク・バーの空き領域でマウスを右クリックし、表示されるショートカット・メニューの[タスク マネージャ]を実行するか、[Ctrl]+[Alt]+[Del]キーを押して表示されるダイアログの[タスク マネージャ]ボタンをクリックする。
タスク・マネージャの[パフォーマンス]タブでは、CPU使用率やメモリ使用量など、基本的なシステムの現在の状況を確認することができる。このうち現在の仮想メモリの状態を知るには、左下の[コミット チャージ]の値に注目する。
現在実行されているすべてのプロセスによって使用されている仮想メモリ・サイズ(Kbytes単位)。上にある[メモリ使用量]の棒グラフの値と同じ。
ページング・ファイルを現状から拡張することなしに、プロセスに割り当てることが可能な最大仮想メモリ・サイズ(Kbytes単位)。物理メモリ・サイズと「現在の」ページ・ファイル・サイズの合計。ページ・ファイル・サイズが拡大されるにつれて増加する。
システムの起動時から現在までの間に使用された仮想メモリ・サイズのピーク値([合計]の履歴。Kbytes単位)。ページ・ファイルが拡張されたときには、の「制限値」を超えた値がここに表示される場合もある。
システムの仮想メモリの使用状況を知るには、[タスク マネージャ]−[パフォーマンス]タブの左下にある[コミット チャージ]グループに注目する。このグループに表示されている[合計]、[制限値]、[最大値]の値は、それぞれ現在実行されているすべてのプロセスが使用している仮想メモリの総計、ページ・ファイルを拡張することなく割り当て可能な最大仮想メモリ・サイズ(物理メモリと「現在の」ページ・ファイル・サイズの合計)、現在までの仮想メモリ・サイズ([合計]の履歴)のピーク値をKbytes単位で表したものである。たとえば画面の例なら、[合計]の値は約275Mbytes、[制限値]は約619Mbytes、[最大値]の値は約276Mbytesということになる。ページ・ファイルの最大サイズは、(デフォルトでは)物理メモリの3倍までに設定されているので、この例では[制限値]の値は最大1Gbytesまで拡大される可能性がある。
今述べたとおり、[最大値]の値は、Windows 2000/Windows XPシステムを起動してから、これまでの間に使用された仮想メモリ・サイズのピーク値である。つまり、システム起動からこれまでに、日常的な操作をひととおり行った後だとすれば、この[最大値]の値が、システムで必要な仮想メモリ容量ということになる。厳密には、できるだけ長期にわたって使用仮想メモリ容量のログなどをとって判断すべきだが(タスク マネージャではこのようなログはとれないが、コントロール パネルの[管理ツール]フォルダ−[コンピュータの管理]アプレットの[パフォーマンス ログと警告]を利用すればこれが可能である)、簡易には、システムを起動してから、日常的な操作をひととおり行ってみて(同時に利用する可能性があるアプリケーションなどは同時に実行する)、その後この[最大値]の値を調べてみるとよい。「Windows TIPS:必要メモリ・サイズを見極める」も参考にしていただきたい。
必要な仮想メモリ容量が分かったら、システムの搭載物理メモリとその値を比較してみよう。物理メモリ量をはるかに超える仮想メモリを使っているなら、オーバーヘッドの大きなスワップが頻繁に発生している可能性がある。そのような場合には、物理メモリの増設などを検討する必要があるだろう。Windows 2000/Windows XPのデフォルト設定では、ページ・ファイル・サイズの最大値は物理メモリ・サイズの1.5倍〜3倍まで可変となっているが、現実的には数百Mbytesものスワップが発生するような環境では、著しくパフォーマンスが低下することになるだろう。搭載可能な最大メモリ容量が数十M〜100Mbytes程度しかなかった古い時代のマシンならともかく、現在では、ページ・ファイル・サイズは物理メモリと同じくらいか、最大でも2倍くらいまでに収まるように物理メモリを増設することが望ましい。
SharePoint2007のMOSSのデータ管理を理解する (2007/11/15) SharePointのMOSSのデータ管理について解説。ドキュメントを管理するためのドキュメント・ライブラリの使い方を学ぶ
柔軟性と機能性を大幅に高めたIIS 7.0(前編) (2007/11/14) Windows Server 2008に標準搭載のIIS 7.0は、モジュール構造の採用や環境情報の一新などさまざまな改善を図っている
第99話 メールしたでしょ? (2007/11/13) がー、はっはっは! キミのところは何通だい? えっ? 30通くらい? そりゃ少ないねぇ。うちは毎日、ゆうに500通は超えてるかねぇ
ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン
@ITトップ|Windows Server Insiderフォーラム トップ|会議室|利用規約|プライバシーポリシー|サイトマップ

[ 143] @IT:Windows TIPS -- Tips:最適なページ・ファイル・サイズを知るには
[引用サイト]  http://www.atmarkit.co.jp/fwin2k/win2ktips/076pgfilesize/076pgfilesize.html



お気に入り



  • track feed
    • seo