元々からのFAQ
net.inet.tcp.tso=0
速度が出なくて調査依頼してもらったこと
net.inet.tcp.inflight.enable=0
注:このオプションは、FreeBSD 9 にはありません。
その他の設定
/etc/sysctl.conf
net.inet.tcp.tso=0
net.inet.tcp.inflight.enable=0
net.inet.tcp.inflight.min=24576
kern.ipc.maxsockbuf=16777216
net.inet.tcp.sendbuf_max=20480000
net.inet.tcp.recvbuf_max=1048576
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.recvbuf_inc=32768
kern.ipc.nmbjumbop=65536
kern.ipc.nmbjumbo9=32768
kern.ipc.nmbjumbo16=16384
# 追記:RWINとかも上げてみる。
net.inet.tcp.sendspace=131072
net.inet.tcp.recvspace=131072
/etc/loader.conf
accf_data_load="YES"
accf_http_load="YES"
その他カーネルコンパイル
//IPV6を抜く → 導入によりIPV6を有効化しなおした。
COMPAT関連、32bit コンパチブルを抜く
SMPは外さない
ata atadisk em 以外全部抜く
さくらのVPS
を最大15%の高速化する方法
それは、ちょっと工夫して再コンパイルするだけです。
え? FreeBSD 専用です。
あ、日記にもかいたけど、さくらのVPSのページにも書いておきます。
/etc/make.conf
注:さくらのVPS IntelCPU専用です。
CPUTYPE?=core2
CFLAGS=\
-O2 -pipe -march=${CPUTYPE} -mtune=${CPUTYPE} \
-funroll-loops -fno-strict-aliasing
COPTFLAGS=\
-O2 -pipe -march=${CPUTYPE} -mtune=${CPUTYPE} -msse -msse2 -msse3 \
-fomit-frame-pointer -funroll-loops -fno-strict-aliasing
CXXFLAGS+= -fconserve-space
MASTER_SITE_OVERRIDE?=ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
(一番下の行は、おまけ)
これで、
cd /usr/src
(csup releng-supfile)
(ee /usr/src/sys/i386/conf/SAKURA or ee /usr/src/sys/amd64/conf/SAKURA)
make clean or rm -rf /usr/obj
make buildworld
make buildkernel KERNCONF=SAKURA
make installkernel KERNCONF=SAKURA
make installworld
#mergemaster -UPi (必要に応じて)
するだけです。
パッケージ類(ports)も全てリビルドして下さい。
/usr/ports/net/cvsup-without-gui を入れる
/usr/ports/ports-mgmt/portupgrade を入れる
cd /usr/src
(cvsup releng-supfile)
(ee /usr/src/sys/i386/conf/SAKURA or ee /usr/src/sys/amd64/conf/SAKURA)
make clean or rm -rf /usr/obj
make buildworld
make buildkernel KERNCONF=SAKURA
make installkernel KERNCONF=SAKURA
make installworld
#mergemaster -UPi
reboot
再起動後
cvsup ports-supfile
FORCE_PKG_REGISTER=1 portupgrade -aRf
/usr/ports/ports-mgmt/pkg_replace を入れる
cd /usr/src
(csup releng-supfile)
(ee /usr/src/sys/i386/conf/SAKURA or ee /usr/src/sys/amd64/conf/SAKURA)
make clean or rm -rf /usr/obj
make buildworld
make buildkernel KERNCONF=SAKURA
make installkernel KERNCONF=SAKURA
make installworld
#mergemaster -UPi
reboot
再起動後
csup ports-supfile
FORCE_PKG_REGISTER=1 pkg_replace -aRf
そのかわり、メモリ使用量が増えます。
計測結果
- 8.1-RELEASE/amd64 バイナリ (注:加入当初の計測結果)
1秒間あたりの簡易RSA演算回数 222
1秒間あたりのプロセス実行回数 15644
1秒間あたりのファイルI/O実行回数 5524
1秒間あたりの正規表現文字列置換回数 3099
- 8.2-RELEASE/amd64 バイナリ(2011年11月25日計測)
1秒間あたりの簡易RSA演算回数 217
1秒間あたりのプロセス実行回数 14723
1秒間あたりのファイルI/O実行回数 5494
1秒間あたりの正規表現文字列置換回数 3133
- 8.2-RELEASE-p4/amd64 最適化済(2011年11月27日計測)
1秒間あたりの簡易RSA演算回数 320
1秒間あたりのプロセス実行回数 14705
1秒間あたりのファイルI/O実行回数 5800
1秒間あたりの正規表現文字列置換回数 4009
難点
余計なものまでインストールされてしまう。
ついでに、以前載せたレンタルサーバーライトの計測結果
さくらの激重だった時代から一新して、変わったばかりのサーバー
FreeBSD 7.1-RELEASE-p15 #10: Tue Nov 16 09:48:35 JST 2010
admin@www200.sakura.ne.jp:/usr/obj/usr/src/sys/SAKURA11S
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz (1991.83-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6
real memory = 2145320960 (2045 MB)
avail memory = 2091802624 (1994 MB)
MPTable: <OEM00000 PROD00000000>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xdf00-0xdf1f
twe0: <3ware Storage Controller. Driver version 1.50.01.002>
twe0: [GIANT-LOCKED]
twed0: <Unit 0, TwinStor, Normal> on twe0
twed0: 190781MB (390719920 sectors)
PyukiWiki?ベンチ結果
1秒間あたりの簡易RSA演算回数 211
1秒間あたりのプロセス実行回数 5300
1秒間あたりのファイルI/O実行回数 4435
1秒間あたりの正規表現文字列置換回数 2881
今月(2011年8月)新規契約したサーバー
FreeBSD 7.1-RELEASE-p15 #10: Tue Nov 16 09:48:35 JST 2010
admin@www200.sakura.ne.jp:/usr/obj/usr/src/sys/SAKURA11S
CPU: Intel(R) Xeon(R) CPU E3110 @ 3.00GHz (2992.51-MHz 686-class CPU)
(注:L2 6M L3 なし)
real memory = 3488022528 (3326 MB)
avail memory = 3410808832 (3252 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
3ware device driver for 9000 series storage controllers, version: 3.70.05.001
twa0: <3ware 9000 series Storage Controller> port 0x2000-0x20ff
em0: <Intel(R) PRO/1000 Network Connection 6.9.6>
em1: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0x4000-0x401f
da0 at twa0 bus 0 target 0 lun 0
da0: <AMCC 9650SE-2LP DISK 4.08> Fixed Direct Access SCSI-5 device
da0: 100.000MB/s transfers
da0: 476827MB (976541696 512 byte sectors: 255H 63S/T 60786C)
PyukiWiki?ベンチ結果
1秒間あたりの簡易RSA演算回数 476
1秒間あたりのプロセス実行回数 12003
1秒間あたりのファイルI/O実行回数 9551
1秒間あたりの正規表現文字列置換回数 6568
チューニング以外に、VPSに64bit OS、32bit OS どちらを選ぶべきか?
- ちょっとでも、常駐メモリ容量、ディスク容量を節約したいのであれば、32bit OS
でも、同居しているVPSのユーザーに、オーバーヘッドをかけることにより、迷惑をかけます。
- 少しでも高速化するのであれば、64bit OS
x86 (32bitOS) より、x64 (amd64 / 64bitOS) のが、レジスタ数が単純比較しても、約2倍あり、それだけでも高速化につながります。それ以外にも命令も増えていますが・・・・
6rdを使って、IPV6に対応する
詳細は、
こちらのさくらインターネット研究所に書いてありますが、少し移すと・・・
# cd /usr/src
# patch -p0 </root/stf_6rd_20100923-1.diff
# cd sys/modules/if_stf/
# make
# make install
- IPV6アドレスの算出をする。(さくらのアドレスになっていませんでした)
59.106.69.125 と仮定して
# printf "2001:e41:%02x%02x:%02x%02x::1\n" 59 106 69 125
2001:e41:3b6a:457d::1
- /etc/rc.confに記述する (FreeBSD 8)
ipv6_enable="YES"
cloned_interfaces="stf0"
ipv6_ifconfig_stf0="上記で算出したIPV6アドレス/32"
ipv6_defaultrouter="2001:e41:3dd3:e07d::1"
- /etc/rc.confに記述する (FreeBSD 9)
ipv6_activate_all_interface="YES"
cloned_interfaces="stf0"
ifconfig_stf0_ipv6="inet6 上記で算出したIPV6アドレス/32"
ipv6_defaultrouter="2001:e41:3dd3:e07d::1"
# reboot
# ifconfig stf0
# netstat -nr -f inet6 | grep default
# ping6 www.iij.ad.jp
- ApacheでIPV6対応を忘れやすい部分
ports で Apacheを入れている場合、apr もIPV6対応にしないと動きません。
というか、カスタムOSのインストール方法、わからないの?
簡単に・・・説明だけしておこう。
OS再インストールを選んでから、カスタムOSインストールへ、を選択する
OSを選択してから、確認ボタンを押して、起動する。
OSをインストールする。
OSインストールが終了したら、一度再起動をかける。
再び、CDから起動した状態になるが、この時点でインストーラを終了する。
(終了できないときは、Ctrl+Alt+Del送信ボタンを押す)
再び再起動がかかったら、以下のアクションを5秒以内で行う。
・VPSホーム をクリック
・仮想サーバー操作「停止」ボタンをクリック
その後、仮想サーバー操作「開始」ボタンをクリックして、
あとは、リモートコンソールを開けばOK
簡単でしょ?あれ?難しいか・・
肝心の中身のインストール方法がかいてないもんね。
細かいことは、ぐぐってねなの。
え?ファイルクレクレ君?
- cvsup releng-supfile
releng-supfile.txt
2012-02-21(火) 13:52:44 417 bytes
TOTAL: 30 TODAY: 0 YESTERDAY:1
- cvsup ports-supfile
ports-supfile.txt
2012-02-21(火) 13:52:44 169 bytes
TOTAL: 19 TODAY: 0 YESTERDAY:1
- カーネルチューニング済ファイル (8.1/8.2-RELEASE)
SAKURAVPS.txt
2012-02-21(火) 13:52:44 12.7 KB
TOTAL: 32 TODAY: 0 YESTERDAY:1
- カーネルチューニング済ファイル (9.0-RELEASE)
SAKURAVPS9.txt
2012-02-21(火) 13:52:44 13.6 KB
TOTAL: 8 TODAY: 0 YESTERDAY:1
- 6rd サポート by Hiroki Sato氏 (8.1/8.2-RELEASE , 9.0-RELEASE両方とも動きます)
stf_6rd_20100923-1.diff.txt
2012-02-21(火) 13:52:44 36.8 KB
TOTAL: 23 TODAY: 0 YESTERDAY:1
アンケート
このことに関する話題