|
|
環境設定:メールサーバの性能測定
メールサーバの性能測定 > 環境設定:メールサーバの性能測定
性能測定環境の構築方法1. 共通環境設定性能測定に使用した各サーバには、Turbolinux 11 Serverを導入し、下記のネットワーク構成を基に性能測定環境を構築しました。
2. サーバA送信用メールサーバとして用いるサーバAの各アプリケーションの設定を下記の通り設定しました。 2.1 Linux Kernelに関する設定メールサーバを稼働させる場合に影響する下記Linux Kernel設定について、本性能測定環境ではデフォルト値のまま使用しました。
2.2 メールサーバに関する設定メール(SMTP)サーバとして稼働させるPostfixを設定しました。Postfixのデフォルト設定値から以下のパラメータを変更しました。なお、この設定値は、Postfixの設定ファイルである、/etc/postfix/main.cfに設定しました。 /usr/sbin/postconfの実行結果default_destination_concurrency_limit = 200 default_destination_recipient_limit = 100 default_process_limit = 5000 inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = jp.tlana myhostname = mail.jp.tlana mynetworks = 127.0.0.0/8 192.168.211.0/24 smtp_mx_address_limit = 0 smtp_mx_session_limit = 0 下記のコマンドを実行し、OS起動時にPostfixが自動起動するように設定しました。 # chkconfig postfix on 下記コマンドを実行し、Postfixを起動しました。 # /etc/init.d/postfix restart POPサーバは、スーパーサーバーデーモンであるxinetd経由が起動するため、下記のコマンドを実行して、POPサーバを有効にしました。 # chkconfig ipop3 on これにより、/etc/xinetd.d/ipop3のdisable属性の値がno(有効)に書き換わります。xinetdを再起動して、サービスを有効にしました。 # /etc/init.d/xinetd restart メールクライアントがPOPサーバーにアクセスするには、/etc/hosts.allowファイルを変更しアクセスを許可するホストを指定する必要があります。Turbolinux 11 Serverのxinetdは、TCP Wrappersによるアクセス制御を行う仕様です。このため、下記の記述を/etc/hosts.allowに追加しました。 /etc/hosts.allowipop3d: ALL 下記のスクリプトを実行し、テスト用ユーザを作成しました。
#!/bin/sh
PASSWORD=turbolinux
#CRYPTPASSWD=`perl -e "print(crypt('password', 'turbolinux'))"`
BINPATH='/usr/sbin'
LANG=en_US
changePasswd(){
expect -c "
spawn passwd $USERNAME
expect password:
send $PASSWORD\n
expect password:
send $PASSWORD\n
expect eof"
}
for i in `seq 0 1000`
do
USERNAME='mailtestuser'$i
echo $USERNAME
$BINPATH/userdel -r $USERNAME
$BINPATH/adduser $USERNAME
changePasswd
done
3. サーバB受信用メールサーバとして用いるサーバBの各アプリケーションの設定を下記の通り設定しました。 3.1 Linux Kernelに関する設定メールサーバを稼働させる場合に影響する下記Linux Kernel設定について、本性能測定環境ではデフォルト値のまま使用しました。
3.2 メールサーバに関する設定メール(SMTP)サーバとして稼働させるPostfixの設定ファイルを下記の通り変更しました。
/etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mail.jp.tlanb
mydomain = jp.tlanb
#myorigin = $myhostname
#myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix-2.4.5/samples
readme_directory = /usr/share/doc/packages/postfix-2.4.5/README_FILES
default_destination_concurrency_limit = 200
default_destination_recipient_limit = 100
default_process_limit = 5000
smtp_mx_address_limit = 0
smtp_mx_session_limit = 0
下記のコマンドを実行し、OS起動時にPostfixが自動起動するように設定しました。 # chkconfig postfix on 下記コマンドを実行し、Postfixを起動しました。 # /etc/init.d/postfix restart POPサーバは、スーパーサーバーデーモンであるxinetd経由が起動するため、下記のコマンドを実行して、POPサーバを有効にしました。 # chkconfig ipop3 on これにより、/etc/xinetd.d/ipop3のdisable属性の値がno(有効)に書き換わります。xinetdを再起動して、サービスを有効にしました。 # /etc/init.d/xinetd restart メールクライアントがPOPサーバーにアクセスするには、/etc/hosts.allowファイルを変更しアクセスを許可するホストを指定する必要があります。Turbolinux 11 Serverのxinetdは、TCP Wrappersによるアクセス制御を行う仕様です。このため、下記の記述を/etc/hosts.allowに追加しました。 /etc/hosts.allowipop3d: ALL 下記のスクリプトを実行し、テスト用ユーザを作成しました。
#!/bin/sh
PASSWORD=turbolinux
#CRYPTPASSWD=`perl -e "print(crypt('password', 'turbolinux'))"`
BINPATH='/usr/sbin'
LANG=en_US
changePasswd(){
expect -c "
spawn passwd $USERNAME
expect password:
send $PASSWORD\n
expect password:
send $PASSWORD\n
expect eof"
}
for i in `seq 0 1000`
do
USERNAME='mailtestuser'$i
echo $USERNAME
$BINPATH/userdel -r $USERNAME
$BINPATH/adduser $USERNAME
changePasswd
done
4. サーバCDNSサーバとして用いるサーバCの設定を下記の通り設定しました。 4.1 DNSサーバに関する設定DNSサーバとして稼働させるBindの設定ファイルを下記の通り変更しました。 /etc/named.conf
acl corpnets { 192.168.211.0/24; 192.168.212.0/24;};
options {
listen-on port 53 { corpnets; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { corpnets; };
recursion yes;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
zone "jp.tlana" {
type master;
file "jp.tlana";
};
zone "jp.tlanb" {
type master;
file "jp.tlanb";
};
zone "211.168.192.in-addr.arpa" {
type master;
file "211.168.192.in-addr.arpa";
};
zone "212.168.192.in-addr.arpa" {
type master;
file "212.168.192.in-addr.arpa";
};
ドメイン名jp.tlana用の正引きゾーンファイルを下記の通り作成しました。 /var/named/chroot/var/named/jp.tlana
$TTL 1D ; 1 day
@ IN SOA gw.jp.tlana. root.gw.jp.tlana. (
200811084 ; Serial
3H ; Refresh after 3 hours
1H ; Retry after 1 hour
1W ; Expire after 1 week
3H ) ; Minimum TTL of 3 hours
IN NS gw.jp.tlana.
IN MX 10 mail.jp.tlana.
gw IN A 192.168.211.1
mail IN A 192.168.211.10
localhost IN A 127.0.0.1
c-111 IN A 192.168.211.111
c-211 IN A 192.168.211.211
下記のコマンドを実行し、ファイルへのパーミッション変更しました。 # chown root:named /var/named/chroot/var/named/jp.tlana # chmod 644 /var/named/chroot/var/named/jp.tlana ドメイン名jp.tlana用の逆引きゾーンファイルを下記の通り作成しました。 /var/named/chroot/var/named/211.168.192.in-addr.arpa
$TTL 1D ; 1 day
@ IN SOA gw.jp.tlana. root.gw.jp.tlana. (
200811084 ; Serial
3H ; Refresh after 3 hours
1H ; Retry after 1 hours
1W ; Expire after 1 week
3H ) ; Minimum TTL of 3 hours
IN NS gw.jp.tlana.
IN PTR jp.tlana.
IN A 255.255.255.0
1 IN PTR gw.jp.tlana.
10 IN PTR mail.jp.tlana.
111 IN PTR c-111.jp.tlana.
211 IN PTR c-211.jp.tlana.
下記のコマンドを実行して、ファイルへのパーミッションを変更しました。 # chown root:named /var/named/chroot/var/named/211.168.192.in-addr.arpa # chmod 644 /var/named/chroot/var/named/211.168.192.in-addr.arpa ドメイン名jp.tlanb用の正引きゾーンファイルを下記の通り作成しました。 /var/named/chroot/var/named/jp.tlanb
$TTL 1D ; 1 day
@ IN SOA gw.jp.tlanb. root.gw.jp.tlanb. (
200811081 ; Serial
3H ; Refresh after 3 hours
1H ; Retry after 1 hour
1W ; Expire after 1 week
3H ) ; Minimum TTL of 3 hours
IN NS gw.jp.tlanb.
IN MX 10 mail.jp.tlanb.
gw IN A 192.168.212.1
mail IN A 192.168.212.10
localhost IN A 127.0.0.1
下記のコマンドを実行して、ファイルへのパーミッションを変更しました。 # chown root:named /var/named/chroot/var/named/jp.tlanb # chmod 644 /var/named/chroot/var/named/jp.tlanb ドメイン名jp.tlana用の逆引きゾーンファイルを下記の通り作成しました。 /var/named/chroot/var/named/212.168.192.in-addr.arpa
$TTL 1D ; 1 day
@ IN SOA gw.jp.tlanb. root.gw.jp.tlanb. (
200811081 ; Serial
3H ; Refresh after 3 hours
1H ; Retry after 1 hours
1W ; Expire after 1 week
3H ) ; Minimum TTL of 3 hours
IN NS gw.jp.tlanb.
IN PTR jp.tlanb.
IN A 255.255.255.0
1 IN PTR gw.jp.tlanb.
10 IN PTR mail.jp.tlanb.
下記のコマンドを実行して、ファイルへのパーミッションを変更しました。 # chown root:named /var/named/chroot/var/named/212.168.192.in-addr.arpa # chmod 644 /var/named/chroot/var/named/212.168.192.in-addr.arpa 下記のコマンドを実行して、OS起動時にBindが自動的に起動するように設定しました。 # chkconfig named on 下記コマンドを実行して、Bindを起動しました。 # /etc/init.d/named start 性能測定ツール(Postal)の設定本章では、性能測定ツールとして用いた、Postalに関する設定方法についてまとめています。 1. Postalの入手
Postalのソースファイルを、下記URLから入手しました。 情報 :性能測定時に最新版であるPostral 0.70をダウンロードしました。 2. Postalのインストール入手したPostalのソースファイルを/usr/local/srcに保存してビルドしました。 注意 :Postalをインストールするには、Turbolinux 11 Server インストールCD 2(オプショナル CD)から開発ツールのパッケージをインストールする必要があります。 # tar xvzf postal-0.70.tgz -C /usr/local/src/ # cd /usr/local/src/postal-0.70/ # ./configure -disable-gnutls # make # make install 情報 :メールサーバに対して高負荷をかけるために、Postalをコンパイルする際に、postal.hの「#define MAX_PROCESSES」を「400」から「1000」に変更しました。 3. Postalの設定下記のスクリプトを実行し、Postal実行(メールを送信)時に使用する送信先メールアドレスを列挙したファイルを作成しました。 #!/bin/sh FILENAME=SendUserList.txt HOSTNAME="@jp.tlanb" rm -Rf $FILENAME for i in `seq 0 1000` do USERNAME='mailtestuser'$i echo $USERNAME$HOSTNAME >> $FILENAME done 4. rabidの設定下記のスクリプトを実行し、rabid実行(メールを受信)時に使用する受信ユーザとパスワードを列挙したファイルを作成しました。 #!/bin/sh FILENAME=ReceiveUserList.txt PASSWORD="turbolinux" rm -Rf $FILENAME for i in `seq 0 1000` do USERNAME='mailtestuser'$i echo $USERNAME $PASSWORD >> $FILENAME done |
|||||||||||||||||||||||||||||||||||||||||||||
Copyright © Turbolinux, Inc..All Right Reserved.

