スレッドメモ

MLやNewsのスレッドをメモする試み。

2003|01|02|04|05|06|07|08|10|11|
2004|01|04|05|06|07|08|09|11|12|
2005|01|02|04|08|09|
2006|01|03|04|08|
2007|01|05|
2009|05|

2009-05-19 (火)

[FreeBSD-users-jp] Re: [Norton AntiSpam] 8.0-CURRENT 日本語マニュアル平成 21 年(2009 年)05 月 17 日版

[92327] tamagotoka (5/19)

メーラーにThunderbird2を使っているのですが、ここ最近小金丸さんのメールだ
けタイトルが以下のように文字化けしてしまいます。

=?ISO-2022-JP?B?W05vcnRvbiBBbnRpU3BhbV0gW0ZyZWVCU0QtdXNlcnMtanAgOTIzMjZdIDguMC1DVVJSRU5UIBskQkZ8S1w4bCVeJUslZSUiJWsbKEIgGyRCSj9ALhsoQiAyMSAbJEJHLxsoQigyMDA5IBskQkcvGyhCKTA1IBskQjduGyhCIDE3IBskQkZ8SEcbKEIg=?=

他の方はちゃんとタイトルが見れているのでしょうか。
Thunderbird側で何か設定が必要なのでしょうか。

以上、なんかFreeBSDと関係ない話なのですがよろしくお願いいたします。

[92328] Takahiro Kambe (5/19)

想像ですが、[Norton AntiSpam]といったあたりから、Nortonのspam対策ソフ
トウェアがヘッダを加工していて、そのやりかたがまずいという話に思えます。

[92329] tamagotoka (5/19)

Nortonは他のspamにも[Norton AntiSpam]というタイトル文字を入れてくれます
が、それらは文字化けしていません。
Nortonは関係ないと思われます。
(小金丸さんのメールがNortonにSpam扱いされているのは別問題として)

ちょっとググってみたのですが、小金丸さんのメールヘッダには以下が足りない
のでThunderbirdの自動判別では文字化けするのではないでしょうか?

Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit

[92330] Takahiro Kambe (5/19)

> Content-Type: text/plain; charset="ISO-2022-JP"
> Content-Transfer-Encoding: 7bit
このヘッダによる charset の指定は電子メールの本体に関する指定です。

ヘッダのエンコーディングは、それだけで閉じて(自己完結して)いるものなの
で関係ありませんし、あってはなりません。

[92333] Nobuyuki Koganemaru (5/19)

おさわがせしております。
小金丸です。

私のメーラは、BSD 純正の /usr/bin/Mail を System V 風に改造変更した mailx
です。
神戸さんの話では、私のメール自体は、問題はないが、世の中、Windows が
標準となり、変なウィルスチェッカーがはびこっているということでしょうか。
私は、世の中に Windows がないころから、UNIX の mail を使用していますが、
住みにくくなりましたね。:-)
ヘッダーに Content-Type: Content-Transfer-Encoding: を追加しようと思います。

[92334] nekurai (5/19)

*あくまでも* 個人的な妄想ですが、Norton AntiSpam が header に
content-type をつけていない mail を (ほぼ無条件に?) spam 扱いしてると
なれば小金丸さんの mail をそのように判定をしてる可能性はありますね。
溜め込んだ spam を見ると結構 content-type がないのが多いですから。

あ、うちは WindowsXP SP3/Thunderbird 2.0.0.21/avast! という
環境ですが元の小金丸さんの mail は問題なく読めます。

[92335] tamagotoka (5/19)

で、待っているだけなのもどうかと思い、シマンテックに問い合わせたところ、
対応してるメーラーはOutlookとOutlookExだけなので他のメーラーで文字化けし
ても仕方ないということになりました。

確かにタイトル文字化けしたメールを保存しOutlookExで読み込ませたらタイト
ルはきちんと表示されました。

Thunderbird使い続けたければ、Anti-SpamはNorton以外を使ったほうが良いかも
しれません。

[92337] IWAMOTO Kouichi (5/19)

今回の場合、小金丸さんのメールは正しくMIMEエンコーディングされています。
文字化けの原因は、[FreeBSD-users-jp 92328] で

> X-Mew: Subject: has illegal padding in encoded text.
>
> と、エンコード自体もおかしいとウォーニングが表示されます。

と書かれているように、(おそらくNorton AntiSpamが行った)エンコーディングが
おかしい為のようです。具体的には、
> > 神戸さんの話では、私のメール自体は、問題はないが、世の中、Windows が
> > 標準となり、変なウィルスチェッカーがはびこっているということでしょうか。
> Windowsというよりも、正しいヘッダのエンコーディングの処理をできていな
> いものは、まだまだ存在すると言うことでしょう。(確かに、正しく作るのは
> 手がかかる規格ではあります。)

確かに手がかかるのですが、その手のかかる部分すべてで手を抜いていてその上で
さらにバグっているようにエンコード結果からは見えます。
個人的にはSymantec製品を使いたくなくなるぐらいに酷い状態だと思います。

2007-05-17 (木)

[mysql] 高速なデータの書き込み方法

[13957] Hiroki Tamakoshi (5/17)

計算するごとに書き込むと遅いので、ある程度の量のログを計算しておき、計算
結果が溜まったらそれを
INSERT ... VALUES ..., ..., ... ON DUPLICATE KEY UPDATE a = VALUES(a)+b
を使用して一気に書き込むようにしていますが、これが遅くて困っています。

上記構文を利用している理由は、既に同じ条件での計算結果があればそれをイン
クリメントして追加する必要があるためです。
また、INSERT ... VALUES ..., ..., ... により一度に大量のデータを書き込む
ことができます。

ところが、この1文の実行に2時間以上かかっている場合があります。その間、ディ
スクへのアクセス音が聞こえ続けますので、本当に書き込みに時間が掛かってい
ると思います。

VALUES ..., ..., ...の部分は多くても128MBです。
(bulk_insert_buffer_size=128Mにしています。あふれたらエラーになるはずで
すが、エラーになっていません)

128MB/2時間=18KB/secですから、いくらなんでもディスクアクセスに時間がかか
りすぎています。

[13958] Yoshio Kawano (5/17)

私も、大量なデータを処理した時に、速度の壁にぶち当たりました。
結果、逐次、mySQLのテーブルに登録する処理を止めて、
一時、ファイルに出力し、溜まった時点でmySQLのテーブルにロードする方法に切
替ました。
1レコードを書き込むのに、Insert構文だと、0.01msかかっていたものが、
ファイルの出力にすると、0.003以下に下がったと思います。

ファイルの構成は、書き込むテーブルの構成と同じにしておき
mysqlimportコマンドが使えるフォーマットにしておきました。

統計を計算する場合、
 1)ファイルをソートし
 2)コントロールブレイク方式での演算
で行いました。

[13959] Hiroki Tamakoshi (5/18)

私も、一旦ファイルに書いたものをLOAD DATA INFILEすれば速いかと思ってはお
りました。ただそれを採用していないのは、同じ条件であれば足し込む必要があ
るためです。

LOAD DATA INFILEにはIGNOREとREPLACEのオプションがありますが、UPDATEも欲
しかったところです。
実測すると、7.5MB〜16.4MBを100秒〜180秒で書き込んでいるので、書き込み速
度は80KB/sec〜140KB/secです。

ディスクはSATAでRAID5を組んでいるのですが、やはり遅すぎではないかと思い
ます。シークが大量に発生しているのでしょうか?

[13960] HIRATSUKA Sadao (5/18)

いくつかデータを作って実験してみたところ、興味深い結果がでました。

INSERT ... VALUES ..., ..., ... ON DUPLICATE KEY UPDATE ...のSQLは、
「VALUES ..., ..., ...」←ここで一度にバルクINSERT (or UPDATE)する行数の
二乗に比例した時間がかかります。

レコード長100バイト、13万レコードのテーブルで
INSERT ... ON DUPLICATE KEY UPDATEをすると、
一度に処理する行数に対して処理時間が以下のようになりました。

125行:0.06秒
250行:0.26秒
500行:1.01秒
1,000行:4.04秒
2,000行:16.09秒
4,000行:64.00秒 (このときのテスト用SQL文は453KB)

I/Oも少しは出ていますが、こちらの環境ではほぼCPUネックです。
きっと内部アルゴリズムがとても残念な実装になっているのだと思います。

[13961] とみたまさひろ (5/19)

> ディスクはSATAでRAID5を組んでいるのですが、やはり遅すぎではないかと思い
> ます。シークが大量に発生しているのでしょうか?

今回の遅い原因がディスクのIOネックかどうかはわかりませんが、データベー
スのように書き込みが多いデータは RAID5 には置かない方がいいんじゃない
かと思います。

[13962] 坂井 英夫 (5/19)

Hot swap のRAID5構成にすると、システムダウンも最小限で食い
止められ
データのBack up にもなるように思っています。

MySQL とは若干関係なくなるような気もしますが、
もう少し説明していただけると助かります。

[13963] とみたまさひろ (5/19)

一般に RAID5 は書き込みが遅いためです。ディスク容量に余裕があるのであ
れば、RAID1 とか RAID0+1 の方が良いと思います。

あとディスク故障時のパフォーマンスが大幅に低下します。私が知っている事
例では、1本のディクス故障時にアクセス速度が正常時の 1/10 程度にまで落
ちました。

これは何年も前の話ですし、ストレージ製品によりピンキリだと思うので、
一概には言えないとは思いますけど…。

[13965] kurokawa (5/19)

個人的にはRAID5が一番好きで10年以上前から愛用していました。

他のRAIDと比較した場合のマイナス点

・書き込み:遅い
・読み込み:やや遅い
・初期構成:遅い〜非常に遅い
・故障時再構成:非常に遅い
・信頼性:印象ほど良くない(RAID2以降とあまり変らない)
・コストパフォーマンス:大規模構成でないと悪い
 (HDD10本以上構成などで無いと価格優位性が出にくい)
RAIDが必要な状況で考えますと、故障したときの復旧が遅い
というのは致命傷になりがちです。

復旧処理(再構成)しつつ運用できますが、データ処理速度の
劣化がひどく、使えない状況になりやすいです。
それ以上に、もう一台HDDが壊れると、全データ消滅の恐れもあり
怖くて運用できなくなります。
RAID装置大手のnetapp(ネットアップ)では、RAID4構成
を採用しています。
これは、RAID5に近いのですが、パリティー情報を
特定のHDDに保存します。

パリティー情報格納ディスクが壊れると、非常に危険なので
推奨はダブルパリティー方式(オプション)
パリティーディスクのみをミラーリングします。
大容量と安全性を求めるならnetapp方式で、それをさらに
多重化する(必須かと思います)。
netappでは、データ変更量が、オンメモリーで処理できる
量以内であれば、非常に高速でした。
それを超えてしまうと、極度に速度が低下します。

メモリー量で価格が倍倍ゲームになっていきますので
事前の設計が非常に重要です。



ところで、SATAは、メインのRAIDには、普通選びません。
RAID構成以前の問題になります(速度を問題にするなら)。

RAID構成でSATAを選択する場合、バックアップ用など
速度は二の次、コストと容量を確保したい場合に
選定します。
ファイバーチャネルか、悪くてSCSIになると思います。

ATAやSATAをメインのデータ処理用に選ぶ場合、
回転速度(シークタイムと処理速度がともに遅い)が
遅いので、RAID0で高速化をはかり、それをRAID1構成に
して、安全性を図るのが適しています。

[13969] Kenji Irie (5/20)

でも相変わらずDB向けにもRAID5って提案されているんですね。
(どの点を重視するかで変わるとは思いますが…)

読み出し量が膨大で更新量の少ないwebコンテンツとかであればRAID5も有効だと思い
ます。

DBの場合って、常に書き込みが伴ってきますから(SELECTで読み出す時にも結局は書
き込みを行っていますよね?)書き込みの遅いRAID5はデメリットばかりがすごく強調
されると思いますがいかがでしょう?

個人的には↓の構成がアクセス性能的+信頼性には最適かと

・RAID1+0、RAID1の構成を元にRAID0を構成

これをn本で構成した場合
最低は1本、運が良いと(汗)n/2本までの故障に耐えられますからね。

2007-01-10 (水)

[linux-users] VMware Server 上の Linux の時間の遅れ

[107217] S. Osabe (1/10)

Debian SargeにVMware Serverを入れて、仮想マシンに
Fedora Core 6をインストールしたのですが、ゲストOSの
時間が遅れて困っています。
やったこと
1. ホストOSの/etc/vmware/configに追加
host.cpukHz = 1862092
host.noTSC = TRUE
ptsc.noTSC = TRUE
を追加。1862092はCPUのクロック周波数(kHz)。

2. vmware-toolboxによる設定
$ VMWare-toolbox
Optionsタブを選択し、「Time synchronization between
the virtual machine and the\ host operating
system」にチェックを入れる。

3. grubの設定
起動時にカーネルパラメータ clock=pit nosmp noapic nolapic
を与える。

これでも、時計が遅れます。数分遅れては戻るを繰り返してい
ます。

[107221] MATSUDA Yoh-ichi / 松田陽一 (1/11)

> > > vmware-tools はインストールしましたか?
> >
> > はい、インストール済みです。
>
> tools.syncTime の値はどうなっていますか。
>
> http://www.hktr.jp/blog/archives/2006/10/vmware_tips_1.html

# 長部さんには関係ないかも知れませんが、

以下、 FYI 。

最新のカーネルを使用している場合、 vmware-tools のインストールに
失敗することがあります。
そんなときには、

http://knihovny.cvut.cz/ftp/pub/vmware/

にある、最新の vmware-tools をインストールするとうまくいく場合が
あります。

[107226] S. Osabe (1/11)

返信ありがとうございます。なんとか解決しました。
> >
> どうもここにあるvmware-toolsの素性がよくわからないの
> > ですが、どういうものなんでしょうか。
>
> http://www.necst.co.jp/product/vm/faq.html#02_006
>

いや、VMware-toolsのことではなく、サイト

http://www.hktr.jp/blog/archives/2006/10/vmware_tips_1.html

にあるVMware-toolsの素性のことを知りたかったのですが。
VMware社以外の誰かが、新しいカーネルに対応した
VMware-toolsを作成して、公開しているのでしょうか。
rpmパッケージでないので、インストールを躊躇してしまい
ました。
> >
> 松田さんは、ゲストOSがカーネル2.6で、カーネル再構築
> >
> なしで、vmware-toolsの導入で時間が正確になっていますか。
>

> なってます。

不思議です。私の場合、カーネルを再構築したら、時間があう
ようになりました。カーネルの設定の変更点は、

「Processor type and features」-「Timer frequecy」で100 Hz
を選択

です。それで、新しいカーネルで起動して、
vmware-config-tools.pl
を実行したら、時間があるようになりました。

カーネルを再構築しない場合、5分につきゲストOSが3分
ほど遅れては元に戻る(VMware-toolsの時間同期が効いている)
を繰り返します。つまり、毎分毎分、ホストとゲストで
時間が合っているというわけにはいっていません。

[107229] MATSUDA Yoh-ichi / 松田陽一 (1/12)

> 返信ありがとうございます。なんとか解決しました。

いや、全然解決してないじゃないですか。
> いや、VMware-toolsのことではなく、サイト
>
> http://www.hktr.jp/blog/archives/2006/10/vmware_tips_1.html
>
> にあるVMware-toolsの素性のことを知りたかったのですが。

あの、ふざけてますか?
> > どうもここにあるvmware-toolsの素性がよくわからないの
> > ですが、どういうものなんでしょうか。
>
> http://www.necst.co.jp/product/vm/faq.html#02_006
>
> vmware-tools は稼働しているカーネルに対応してビルドする必要があります。
> ですので、カーネルのバージョンが上がって対応できなくなると、その都度
> バージョンアップが行われます。

こう書いたのですが、何で無視するんですか?

それと、

> ところで、
>
>  $ lsmod|grep "^v"
>
> の実行結果はどうなりますか。

この質問も何で無視するんですか?

貴方が正しく vmware-tools をインストールしているか否かをテスト
する、大事な質問なんですけど。

[107230] Takeshi Kusune (1/12)

> こう書いたのですが、何で無視するんですか?

その説明では全く素性についての疑問を解決できてない気がするのですけど?

vmware-tools は基本的には VMware と一緒に配布されるもので、
その version up されたものも基本的には VMware 社から提供されると考えるのが自然かと。
では全く関係ないように見える場所で配布されている「新バージョン」なるものは、
一体どのような素性のものであるのか、というのは当然の疑問ではないですか?

長部さんが知りたいのは、バージョンアップの必然性ではなく、
松田さんが提示されたのが「正しい『バージョンアップされたもの』かどうか」なので、
それを確認できるポインタを示していないように見えます。

既に引用部分でそれを示しているのに伝わっていないとすると、
それは長部さんだけでなく私も理解できていないので、
キレるところではなく補足説明が必要な所なのではないかと思いますがいかがでしょう。

[107231] MATSUDA Yoh-ichi / 松田陽一 (1/12)

> 一体どのような素性のものであるのか、というのは当然の疑問ではないですか?

Petr Vandrovec さんの patch で解決していた事例が昔から続いている
ので、そのような疑問には全く頓着しませんでした。

http://search.luky.org/linux-kernel.2001/msg25163.html
http://search.luky.org/linux-users.8/msg06691.html
> キレるところではなく補足説明が必要な所なのではないかと思いますがいかがでしょう。

それは面倒な話で(苦笑)

http://www.vmware.com/community/thread.jspa?messageID=76957&tstart=0

これでしょうか。

私としては、動けば結果オーライなんで。
以前の投稿で

| > vmware-tools はインストールしましたか?
|
| はい、インストール済みです。

と断言していたので、当初は疑ってなかったんですが、それ以前の投稿
内容を見ると、ゲスト OS が vine である、とのこと。
そうすると、 rpm パッケージを「インストールした」だけでは、動作
中のカーネルのバージョンに正しくマッチしたモジュールがインストー
ルされていない可能性が十分考えられます。というか、その可能性が大
だと思います。

…というのを、つい先程気付いた次第です。
それまでは漠然とした疑問でしかなかったので、一番大事な所を聞いて
いるにも関わらず無視されたので、ついつい

[107232] Takeshi Kusune (1/12)

ちょっとがっかり。

フリーウェアの利用責任は各ユーザにかかる所であり、
そのための判断には各配布物の正当性判別は重要な要素です。
> そうすると、 rpm パッケージを「インストールした」だけでは、動作
> 中のカーネルのバージョンに正しくマッチしたモジュールがインストー
> ルされていない可能性が十分考えられます。というか、その可能性が大
> だと思います。

その場合、起動中に warning が出るので注意して見ていれば気付きそうですけど、
もし気付かれていない場合、vmware-config-tools.pl を実行する必要がありますね。

[107241] Yoichiro Takehora (1/12)

時間がずれる問題については、

1. Linux自体が時刻がずれる可能性がある
2. VMwareの仮想マシンでは時刻がずれる

と二つ要因があるので、分けて考えて頂くのがいいと思います。


まず、1番目のLinux自体が時刻がずれる可能性があるという点ですが、Linuxが
時刻を追跡する方法としては、pit、pmtmr、cyclone、hpet、tscがあります。
これは、ブートオプションでclock=pitという具合に指定することができます。
それぞれ、特徴がありますから、それを理解されて利用されるといいと思います。

2番目にVMwareの仮想マシンでは時刻がずれるという点ですが、これは仮想化の
アーキテクチャ上どうしても発生してしまいます。
ですから、vmware-toolsをインストールして、時間の同期をホストOSと取るよう
にチェックを入れて頂く必要があるのです。
(マニュアルに明記してあります)

それで、ホストOS自体(この場合だとLinux)が時間がずれる可能性を孕んでい
るため、ホストOSの方ではntpで時刻の同期を取って下さいというのが、VMware
側が提示している時刻同期のベストプラクティスです。

[107242] S. Osabe (1/12)

http://webos-goodies.jp/archives/50179807.html
に次のようなことが書かれています。
引用終わり

VMware Serverの仮想マシンで時計が大幅に狂うのは、カーネル2.6
でHZが1000 Hzに定義されているからと理解しました。Fedora Core
6のカーネルのコンパイルのとき、
「Processor type and features」-「Timer frequency」
はデフォルトで1000 Hzが選択されており、HELPを見ると、
1000 Hzはデスクトップ向け、100 Hzはサーバー向けのもの
と記述されています。したがって。カーネルの再構築なしで
VMware-tools使用で時間が正確になっているケースはサーバー向
けのディストリビューションを使っているケースで、HZが100 Hzに
設定されているのだと推測しています。

[107243] S. Osabe (1/12)

仮葬マシンがFedora Core 6のときは、HZを100 Hzに設定して
カーネルをコンパイルして、さらに、VWware-toolsを導入して
ホストとの時間同期をさせれば、時計は正確になりました。
なお、カーネル起動オプションに
clock=pit nosmp noapic nolapic
を付けたりしましたが、これは不用かもしれません。

[107250] katot (1/15)

> >    * 2.4 カーネルまではタイマー割り込みの間隔は 100 Hz
> > だったが、2.6 カーネルから 1000 Hz にアップしている。
> >    * さらに、SMP カーネルでは 1 秒に 1000×(CPU数+1)回の
> > タイマー割り込みが発生する。

kernelにこの様な変更があった次期に、ハード側設計ガイドラインに
従来から使われている時刻割り込みPITの拡張版が出て、それがHPETと
なってます。
解像度が10倍違います。
現時点の全てのハードのHPETサポート状況はまちまちで、ベースボード
として対応可能でも、BIOS設定でデフォルト値がenabledになっていたり
disabledになっていたりとまちまちです。
VMware以外で使う人も、時計の挙動不審な方は、確認してみた方がよろ
しいでしょう。

2003|01|02|04|05|06|07|08|10|11|
2004|01|04|05|06|07|08|09|11|12|
2005|01|02|04|08|09|
2006|01|03|04|08|
2007|01|05|
2009|05|