2ch特化型サーバ・ロケーション構築作戦 Part19

このエントリーをはてなブックマークに追加
325root▲ ★
この機会にex11のメモリディスクを、

md /md mfs rw,nosuid,noatime,-s128m,-i2048 0 0

と/etc/fstabに書く形から、

/sbin/mdmfs -S -M -s 128m -i 2048 -o noatime,async md /md

とスタートアップ時に設定する形に変えてみた。

・swapではなくて実記憶を直接mallocで与える
・softupdateの処理をしない
・書き込みを非同期モードに

これで、/md のパフォーマンスアップができればいいなと。
326ピロリ:2005/10/13(木) 16:50:15 ID:W/lG8nMa0
>これで、/md のパフォーマンスアップができればいいなと。

何がいけにえになるんですかねぇ?
327root▲ ★:2005/10/13(木) 16:56:26 ID:???0 BE:7387799-###
>>326
メモリディスクに、実記憶を割り当てるということです。

FreeBSDのメモリディスク(md)には、4つモードがあります。

man mdによると、

malloc Backing store is allocated using malloc(9). Only one malloc-
bucket is used, which means that all md devices with malloc
backing must share the malloc-per-bucket-quota. The exact size
of this quota varies, in particular with the amount of RAM in
the system. The exact value can be determined with vmstat(8).

preload A file loaded by loader(8) with type `md_image' is used for
backing store. For backwards compatibility the type `mfs_root'
is also recognized. If the kernel is created with option
MD_ROOT the first preloaded image found will become the root
file system.

vnode A regular file is used as backing store. This allows for mount-
ing ISO images without the tedious detour over actual physical
media.

swap Backing store is allocated from swap space.

で、一番下がこれまでのジンギスカンで使っているもので、
今回それを一番上にしたということです。
328root▲ ★:2005/10/13(木) 17:01:41 ID:???0 BE:5745997-###
で、簡単にいうと、swap方式だと、システムの状況によっては
HDD(スワップ領域)を触る可能性があるということです。

malloc方式だと、それは起こりません。
329root▲ ★:2005/10/13(木) 17:04:02 ID:???0 BE:5107687-###
ということで、メモリが2Gあってそのうちの128Mとか160Mとか割り当てる形なら、
こちらの方がパフォーマンスが出るのではないかという考えです。

あとの設定変更2つは、基本的にはHDDでやっているデータ破損防止処理を
メモリディスクではオフにしよう(意味ないし)ということです。
これはたぶん、今のジンギスカンにもすぐに応用できるはず。
330root▲ ★:2005/10/13(木) 17:09:16 ID:???0 BE:1095326-###
ということで、実記憶というかカーネルのmalloc領域を直接使うので、
メモリが貧しいサーバだと設定内容によってはどきどきするかも、というのが、
いけにえってことになるですね。

512Mに32Mとかなら、bananaでもやってみる価値はあるかも。
331動け動けウゴウゴ2ちゃんねる:2005/10/13(木) 19:21:07 ID:+BNUBw850
mdでsoftupdateをasyncにするってのは確かにありかも。
でもmdだと「光の速度1/10だったのが1/9.5に成りました」という領域に近い気配。
332root▲ ★:2005/10/15(土) 00:48:57 ID:???0 BE:2919348-###
サーバダウン(鯖落ち)情報 part81
http://qb5.2ch.net/test/read.cgi/operate/1129187861/55

> The FreeBSD Projectは、いくつかの抜本的開発を進めるために
> FreeBSD 5系の開発に長い時間をかけてきた。FreeBSD 5系で
> 目標としてきた実装にある程度目処が立ちシステムが安定してきたことから、
> The FreeBSD Projectは早めにFreeBSD 5系をFreeBSD 6系に移行させ、
> currentをFreeBSD 7系、stableをFreeBSD 6系という本来の開発体制に
> 戻したい意向だ。これまではFreeBSD 4系とFreeBSD 5系を同時に対処するなど、
> 開発チームに高い負荷がかかっていた。

やはり、5系を早くやめて、安定(運用)系は6系に移行させたいってことで。
そううまくいくかは、6.0Rの出来にかかっているのかなと。

>>331
そう思っていたんですが、特にファイルシステムがGiant lockで動くシステムだと、
結構影響はあるみたい。

一度、ベンチかBG系あたりでテストでもってかんじで。
333 ◆TWARamEjuA :2005/10/15(土) 01:34:55 ID:1TOq2tE/0 BE:1089825-###
Apache 2.0.55 Released
334root▲ ★:2005/10/16(日) 00:33:56 ID:???0 BE:365322-###
重い重い重い重い重い重い重い×34@運用情報
http://qb5.2ch.net/test/read.cgi/operate/1127144824/218-

設定変更後、好調に動いていたex11のメモリディスクのmallocモードですが、
今日突然、メモリディスクが劇重に。

で、従来のswapモードに戻したところ、軽くなった。
うーむ。ひょっとしてまた虫を踏んでしまったのか。
335ピロリ:2005/10/16(日) 05:32:13 ID:CGJyb5fe0
いやー

そんなにうまい話はないんでないかい。
何かを得るにはなにか生贄が必要なのは太古から変わっていないかと、

と、おじぃさんがいってました。
336root▲ ★:2005/10/17(月) 01:34:48 ID:???0
ex11のメモリディスク、
softupdate off + async を
softupdate on に戻したら、軽くなった。

この条件で使う限り、softupdate のほうが、
async よりも圧倒的にコストが低いということになります。
書き込み(bbs.cgi)のCPU使い具合やはけ具合が、全然違う。

しかし、なんでだろう。
337動け動けウゴウゴ2ちゃんねる:2005/10/17(月) 01:53:09 ID:Gyer1kN60
そうやって使うことが前提だからとか単純な理由だったりしたらワロス
338動け動けウゴウゴ2ちゃんねる:2005/10/17(月) 03:48:48 ID:H0okT2DO0
buffer -> sync(softupdates) -> md
は単に速いHDDとして使えるけど。
buffer -> async -> md
はsoftupdatesでやっているキューの整理が入らないからか?

HDDの書き込みという桁違いのボトルネックがあればasyncは速いけど、mdだと整理していない分遅いとかか。
339root▲ ★:2005/10/18(火) 02:16:45 ID:???0 BE:1095034-###
>>338
連続したメモリ領域のアクセスのほうが効率がいいとか、
そういう話なのかしら。
340動け動けウゴウゴ2ちゃんねる:2005/10/18(火) 08:53:16 ID:Yy/FNxF20
>>339
ですかねー

>>338でもいっているようにソートしてあればmdは絶大な威力を発揮、
てんでんばらばらな追記だとファイルシーク(という言い方があっているか微妙)に
(通常のメモリアドレス検索より)激しく時間を食うのでそのぶん重くなりやすいってことなんですかね