- 追加された行はこの色です。
- 削除された行はこの色です。
**[[質問箱3/64]] [#of3ba9bd]
|RIGHT:70|LEFT:410|c
|~サマリ|添付ファイル付きのページ表示の際にスワップが発生|
|~バージョン|1.4.5_1|
|~投稿者|[[Hiroki]]|
|~状態|質問|
|~投稿日|&new{2005-05-15 (日) 18:12:05};|
***質問 [#u4dcafa9]
添付ファイルが沢山あるページを表示しようとすると,スワップが発生し表示がとても遅くなります.
サーバには128MBしかメモリが無いので,仕方ないのかもしれません.
しかし,添付ファイルが少ないページでは表示は速いので,なんとかならないものかと思い質問しました.
添付ファイルの一つあたりの容量が大きすぎるのが問題なのかもしれません.
10MB以上のファイルが多数添付されています.
***回答 [#gee5394d]
-こんにちは :) メモリを増や・・・((余談ですが、(サーバーのOSが解りませんが)昨今のものであれば、どのようなものでも 256MB 位は欲しいと思います・・・))、もといlib/html.php を改造して、表示する際の「添付ファイルの一覧を作る」処理を行わないようにするとどうなりますでしょうか? -- [[henoheno]] &new{2005-05-15 (日) 18:30:58};
// List of attached files of the page
- //$attaches = ($is_read && exist_plugin_action('attach')) ?
- // attach_filelist() : ''; // これを
+ $attaches = ''; // こうする
- この表示は「添付」のリンクから参照できるようになっていますから、現状常に表示させる必要性まではありません。そしてCMSとして使いたい人にとっては「消せるオプション」があった方が良いと常々考えていたものでした。 -- [[henoheno]] &new{2005-05-15 (日) 18:36:30};
-- こちらで空のダミー添付ファイルを100個ほどattachディレクトリに置いたところ、確かに表示速度が落ちます。手元の環境ですと、100個表示するのにほぼ1秒(1.060sec程度) の「HTML convert time(ページの下に表示されます)」がかかりますが、上記 attach_filelist() を呼ばないようにすることでこの影響が無くなります (0.040sec程度)。添付ファイル数の多い時には効果がありそうです。attach_filelist() のファイル処理がボトルネックになっている様ですね。 -- [[henoheno]] &new{2005-05-15 (日) 18:58:39};
再現手順
※事前に"0"というページを作る
※jotはFreeBSDのコマンド。Linuxなら `seq 0 9`
$ cd attach
$ for i in `jot 10 0`; do for j in `jot 10 0`; do
echo "touch 30_3${i}3${j}" ; done; done # 様子を見る
$ !! | sh # 実行
-ちなみに現在そのページのファイル数はいくつで、そのページに添付されているデータの総量は何MB位ですか? (「詳細」からサイズを確認できます) -- [[henoheno]] &new{2005-05-15 (日) 18:47:18};
-(これも余談です :) )注意点としては、第三者に編集(機能や操作)を許可している場合、どんな添付ファイルが添付されているかを調べる手段をWikiのユーザーから「完全に」奪うのは危険です。この場合上下にある「添付」へのリンクは消さない方が良いと思います。悪意のある人がこっそり悪用できるようになってしまいますから。 -- [[henoheno]] &new{2005-05-15 (日) 19:02:53};
#comment