slackwareのカーネル再構築- 1 名前: ひろゆき 投稿日: 2000/01/10(月) 21:17
- jbbs.netの処理できるプロセス数に限度があるために、
アクセス数が増えると、500エラーになってしまいます。
改善方法として、カーネルをプロセス数の限度を変更して
再構築するというものになるとおもうんですが、
なにぶん素人なもので、、、
どこかに、作業の手順がまとまったようなものはあるでしょうか?
- 2 名前: って優香 投稿日: 2000/01/10(月) 22:16
- こちらに来たのですね。(笑)
いろいろ探し回ったんですが、これくらいしか情報が。
ftp://ftp.riken.go.jp/pub/Linux/kernel/v2.0/patch-html/patch-2.0.37/linux_include_linux_tasks.h.html
#define NR_TASKS 512 /* Max 4092, or 4090 w/APM configured on x86 */
となってるので、1024, 2048, ...って徐々に増やして、再構築。
こんなに簡単なモンじゃぁ無いんだろぅなぁ。。。きっと。
BSD系だと、
sysctl -w kern.maxproc=1024
コマンド1発らしいのですが。。。
再構築は、こちらをどうぞ。
http://www.linux.or.jp/JF/JFdocs/INDEX-JF.html
http://www.linux.or.jp/JF/JFdocs/Kernel-HOWTO.html
Lunux(slackware)ということなので、
お役に立てていないので、スミマセン。
- 3 名前: って優香 投稿日: 2000/01/10(月) 22:19
- 今日は祝日なので、明日からはたくさんレスが付くと思います。
じゃぁ、なんでわたしは会社から。。。(笑)
- 4 名前: >2 投稿日: 2000/01/10(月) 23:26
- この方法で良いんじゃない?
ただ、この方法をやっちゃうと動かなくなるアプリがあるかもしれない
という話を聞いた事があるけど…
- 5 名前: 名無しさん 投稿日: 2000/01/11(火) 00:01
- 4> 動かなくなるアプリ
この辺りの具体的な情報が欲しいですね。
誰か linux-MLに参加してる方がいらっしゃれば
詳細を聞いて頂きたいです。
ココ 2chでは、致命的な障害になりかねないでしょうから。
- 6 名前: ちょっと待った > 4 投稿日: 2000/01/11(火) 00:34
- MLを検索してみたのですが、NR_TASKSだけではないみたいです。
http://his.luky.org/ML/fol.1999/msg04667.html
フォローには、
Documentation/proc.txt との事なので、更に探してみます。
- 7 名前: ちょっと待った 投稿日: 2000/01/11(火) 00:46
- file-nr と file-max の所に
> # cat /proc/sys/fs/file-max
> 4096
> # echo 8192 > /proc/sys/fs/file-max
> # cat /proc/sys/fs/file-max
> 8192
> 一方で、これ以外にプロセスごとにオープンできるファイルの最大数が
> 存在します。残念なことに、これはそう簡単には変更できません。この
> 最大値はデフォルトでは 1024 に設定されており、これを変更するため
> には /usr/src/linux/include/linux にある limits.h と fs.h を書き
> 変える必要があります。NR_OPEN の定義を変更してカーネルを再コンパ
> イルしてください。
んー。。。
これで本件が解決できるかどうかの絡みは判らないですねぇ。。。
/usr/src/linux/include/linux/posix_type.hの
#define __FD_SETSIZE 1024
は、何に効果的なんでしょうか。
- 8 名前: 名無しさん 投稿日: 2000/01/11(火) 01:59
- 6,7で言っているのは最大のファイルオープン数なので直接は関係してきません。
ただし、ファイルをオープンするプロセスがたくさん起動すると、
オープンできる最大値に達することがあるっていうことですね。
ファイルの最大オープン数に限って言えば、
動的に変えられるのでカーネルのリコンパイルする必要はありません。
たぶんこれは2.2からのみ。(2.0は手元に無いのでわからない)
プロセスあたりの最大数1024っていうのは変える必要無いでしょう。
それから、はたしてほんとに同時実行プロセス数を
増やすだけで解決するのかどうか非常に疑わしいです。
状況が余計悪くなることもあります。
まずapache(ですよね?)設定をみなおすことをお勧めします。
- 9 名前: ひろゆき 投稿日: 2000/01/11(火) 03:02
- httpdのerror_logです。こんな感じです。
これをサーバ会社のat-linkに送ってみたら、
>Linuxで初期設定で動作可能なプロセス数を超えてしまっているため
という回答を頂きました。
at-link側でも、カスタマイズの設定をやるようですが、
いつになるかはちと不明とのことで、こちらでできるようなら
やってしまおうかと思ってます。
優香さんのリンクをたどってみます。
自宅PCで一度試してみたほうが安全そうですね。。
ドキドキ
> [Fri Jan 7 00:32:06 2000] [error] [client ] (11)Try again: couldn't
> spawn child process: /var/lib/httpd/htdocs/2ch/test/readall.cgi
> [Fri Jan 7 00:32:06 2000] [error] [client ] (11)Try again: could
> n't spawn child process: /var/lib/httpd/htdocs/2ch/test/bbsback.cgi
> [Fri Jan 7 00:32:07 2000] [error] [client ] (11)Try again: could
> n't spawn child process: /var/lib/httpd/htdocs/2ch/test/readall.cgi
> [Fri Jan 7 00:32:07 2000] [error] [client ] (11)Try again: could
> n't spawn child process: /var/lib/httpd/htdocs/2ch/test/readall.cgi
- 10 名前: 6,7 投稿日: 2000/01/11(火) 03:11
- __FD_SETSIZEに関しては、ソース中コメントに
/*
* This allows for 1024 file descriptors: if NR_OPEN is ever grown
* beyond that you'll have to change this too. But 1024 fd's seem to be
* enough even for such "real" unices like OSF/1, so hopefully this is
* one limit that doesn't have to be changed [again].
*
と、ありますので、充分みたいですね。
(2chのような用途で充分か否かは、?ですが。)
- 11 名前: 6,7 投稿日: 2000/01/11(火) 03:17
- 更に、実環境に絡んで、設定値の標準的値とかの話はないんですかね?
例えば、昔は「スワップファイルは、実搭載メモリの2倍」とか。
2chのピーク時のアクセス数が、いくついくつで、
CGIを実行する際に生まれるプロセスは、いくつだから
最大プロセス数は、このくらいで。。。とか。
- 12 名前: 名無しさん 投稿日: 2000/01/11(火) 03:18
- なるほど・・・apacheですよね、これは。
apacheの設定の MaxClients が大きすぎるのではないでしょうか?
重さを考えるとこれをまず絞ってみたほうが良いかもしれません。
- 13 名前: ちょっと待った 投稿日: 2000/01/11(火) 03:43
- すっかり、6,7にしてしまった。(笑)
12> apacheの設定の MaxClients が大きすぎるのではないでしょうか?
30万強/日のアクセスがあるそうです。
平均 1万2千件/時となりますが、この場合 MaxClients は、
どれくらいがよろしいのでしょうか?
逆に、MaxClientsを越えてしまうと、どのような現象に
なるのでしょうか?
- 14 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 15 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 16 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 17 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 18 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 19 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 20 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 21 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 22 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 23 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 24 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 25 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 26 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 27 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 28 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 29 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 30 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 31 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 32 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 33 名前: むぎ茶 投稿日: 2000/01/11(火) 03:57
- mawasi
- 34 名前: 名無しさん 投稿日: 2000/01/11(火) 13:54
- ipcs
- 35 名前: 名無しさん 投稿日: 2000/01/11(火) 13:59
- すみません。しりとりスレッドと間違えました。(;;)
- 36 名前: って優香 投稿日: 2000/01/11(火) 17:32
- おっ!
ココにも、むぎ茶さんが来るようになったか。
メジャーになりましたね。(笑)
って優香、リンクを張られたら誰でも来れますが。。。
>34,35
じゃぁ、「su」の「u」
って違うか。(笑)
- 37 名前: 名無しさん 投稿日: 2000/01/11(火) 19:15
- カーネル再構築ですが、
FreeBSD 2.2.x系しか再構築した事ありません。
設定ファイル GENERICが無変更のままであれば、
kernel.genericと全く同じ物を再構築出来ますよね?
Linuxでは、どうなのでしょう。
あるパッケージで採用された verのカーネルバイナリと
ソースがあったとして、設定ファイルを全く変えないで
再構築したカーネルと元のカーネルと、全く同じ物を
作るには、どうしたら良いでしょう?
いきなり make oldconfigを実行すれば良いのでしょうか?
カーネルを再構築する練習をして、バイナリレベルでの
比較をして、O.K.なら、設定を変更してきたいのですけど。
- 38 名前: >1 投稿日: 2000/01/11(火) 19:32
- それっぽい話が先月か今月のUnixUserのルート訪問記に
出ていた気がします。
- 39 名前: 名無しさん 投稿日: 2000/01/11(火) 20:10
- >38
root for monkeyね。(笑)
- 40 名前: >1 投稿日: 2000/01/11(火) 20:53
- すいません。今見てみたら大した情報なかったです。
/usr/src/linux/include/linuxI にある
posix_types.hとtasks.hをいじると同時に開けるファイル
数とプロセス数が変わるそうです。
- 41 名前: ひろゆき 投稿日: 2000/01/11(火) 21:17
- いやぁ、、やっと乗り気になったところで、
テスト期間突入です。。
>posix_types.hとtasks.hをいじると同時に開けるファイル
>数とプロセス数が変わるそうです。
ここをいじって再構築でOKな感じですね。
ご助言感謝です。デスクトップで試してみますです。 テストがおわったら、、、、、
- 42 名前: 8 投稿日: 2000/01/12(水) 02:21
- >平均 1万2千件/時となりますが、この場合 MaxClients は、
>どれくらいがよろしいのでしょうか?
MaxClientsは最大同時接続数です。
これはクライアントへHTMLを送信するスループットに関わるので
一概にこのヒット数だからこの数値とは言えませんが、
経験上100〜200で十分ではないかと思います。
この例よりずっと高負荷なapacheを運用してますけど
ピーク時でも200超えることすらありません。
この程度にしておけば、CGIでもプロセス数の最大値に
到達することは無いはずです。
(CGIからさらに子プロセスを作っていなければの話)
つづく
- 43 名前: 8 投稿日: 2000/01/12(水) 02:24
- しかしCGIの動作が遅い場合ピーク時にはCPU能力が先に飽和してしまい、
上記の話どころではない場合もあります。
飽和しているのにいくら最大プロセス数を大きくしても、よりたくさんの
プロセスが動いてしまってより遅くなるだけ、ということになりかねません。
MaxClientsを絞ればすくなくともエラーにはならないはずです。
秒何アクセスで飽和するかは、どれだけCPU時間を使っているか調べればわかります。
CGIをシェルからテスト動作させてtimeコマンドでCPU時間を計ってみるとか、
perlの中からならtimesを使って調べることも出来ます。
それが例えば処理が終るまでに0.1秒だとすると、
秒10アクセスで飽和するわけです。(1CPUの場合)
この状態のロード(uptimeなどで表示できるもの)が1となります。
これを超えるとスループットがさがっていきます。
CGIのスループットがさがると送信が完了するまで時間がかかるようになり、
こうなると同じ頻度のアクセスでも同時接続数があがっていきます。
apacheの場合MaxClientsを大きくとりすぎていると
プロセス数等の問題が発生してくるわけです。
webの場合は深刻で、何秒もまたされるようになると
リロードされたりするのでさらに状況を悪化させます。
定性的な話をしましたが、定量的には待ち行列などで算出できます。
けど仕事でも経験をあわせて定性的に設計したりしてますけどね。
打開するためにはCGIの速度をあげるか、複数サーバに分散させるか、
ということになりますが、状況を悪化させないための方法として
ロードがある一定値を超えている場合はCGIの実行を中止するように
プログラムする、という方法があります。
- 44 名前: ひろゆき 投稿日: 2000/01/12(水) 06:41
- 実は、エラーがではじめたのは、
apacheのMaxClientsを256にかえてからなんです。
スワップになってないのに、接続ができないので
変だなぁとおもって256までふやしたんですが、
プロセスが増えすぎて500エラーがでるようになってしまって、、、はぁ、、、
- 45 名前: 長文失礼 投稿日: 2000/01/12(水) 14:27
- > 8
> この例よりずっと高負荷なapacheを運用してますけど
2chより高負荷って、バーチャルドメインのサービスを
してる関係の方かな?
> CGIからさらに子プロセスを作っていなければの話
あんまり、folkやexecはしないだろうケド、
コマンド一個起動すれば、それで1プロセス増えるのでは?
まぁコマンドが終了すれば消えますが、同時にアクセスされれば
重なりそうですね。
(Linuxデフォルトの MAX 512プロセスを超えるかどうかは?)
> すくなくともエラーにはならないはずです。
こっちの方が大事でしょう。
テレホ時間 23:00 - 2:00 にアクセスが多いのは、
どこでもあたりまえだし、
「あっ、どっかで荒らしが来て負荷高いのかな?」
って思うくらいで済む時あるし。
> 複数サーバに分散させるか、
2ch, ohayou, jbbsがありますね。
確か、jbbsが一番 PCの性能が高かった気がします。
更にサーバー増やして(メモリ・CPUの増強含め)と言われても
資金面があるでしょうし。
ましてやレンタルサーバーなら、勝手に増強出来ないですしね。
> CGIの速度をあげるか、
原則的に、ひろゆき氏がソース非公開としていれば、
CGI, プログラミングのプロも、手を出せないでしょう。
> ロードがある一定値を超えている場合は CGIの実行を中止
これって、中止された場合、
読みだけの人や、書き込もうとした人には、どう見えるのですか?
もし「しばらく、お待ちください。もう一度。」
と出るだけなら、error表示とあまり変わらないですね。
待った後に、リクエストは処理されるのでしょうか?
- 46 名前: 8 投稿日: 2000/01/12(水) 21:58
- > スワップになってないのに、接続ができないので
> 変だなぁとおもって256までふやしたんですが、
たぶん原因は応答の時間のかかるCGIによって
apacheのスロットがうめつくされていることによると思います。
メモリとかスワップよりもCPU能力でしょうね。
こうなるとこのCGIの応答時間は長くなり、
空きスロットも無いので接続もできないという状況になるはず。
> あんまり、folkやexecはしないだろうケド、
> コマンド一個起動すれば、それで1プロセス増えるのでは?
> まぁコマンドが終了すれば消えますが、同時にアクセスされれば重なりそうですね。
> (Linuxデフォルトの MAX 512プロセスを超えるかどうかは?)
うーん、なんか論点がずれてっちゃう。
言いたかったのは、apacheおMaxClientsを例えば100に設定しておけば、
100個のスロットが全部CGIだとしてもプロセス数は200個です。
ただし、CGIから子プロセスを起動しない限り。
最大プロセス数(たしかユーザ毎256だったはず)を超えず、
そういうエラーはでないといことです。
しかしいずれにせよ応答の時間がかかるCGIによってapacheのスロットが
埋め尽くされている状態では、ぜんぜんつながらないということになるでしょう。
> これって、中止された場合、読みだけの人や、書き込もうとした人には、どう見えるのですか?
読みこみは中止せずに書き込みだけ中止するとかね。
> もし「しばらく、お待ちください。もう一度。」
> と出るだけなら、error表示とあまり変わらないですね。
ユーザにとってはかわらないですね。
しかし無為にロードをあげずにすむのでメリットはあります。
perlだと起動するだけで結構CPU時間をくうので、焼け石に水かもしれませんが。
打開策は前述のとおりですが、もうひとつ思いつきました。
Linuxの最大プロセス数とapacheのMaxClientsとタイムアウトを大きくして
延々と待たせるとか・・・根本的ではないですが。
- 47 名前: 37 投稿日: 2000/01/12(水) 23:12
- jbbsの、という関連ではありませんが、スレッドタイトル通りと
言うことで結果報告です。
出来ませんでした。
LASER5 linux 6.0, kernel 2.2.5です。
って、これは slackwareじゃないですケド。。。(笑)
$ make oldconfig; make dep; make clean; make bzImage
で出来た vmlinuxは、サイズが大きくなってしまいました。
System.mapの比較では、
get_optionsと cpu_idleから 4Byte ズレはじめたのと、
math_emulateが追加された事。
probe_irq_on/..._offからまたズレはじめて。。。
となってしまいました。
コンパイルした環境とかでも差が出るんでしょうか?
それともデリストリビューターが構築した時の
./scripts/Configure は、残されて無いモンなのでしょうか?
- 48 名前: Mandrake使い 投稿日: 2000/01/13(木) 01:57
- > 37
LASER5 なら kernel-ver-rel.src.rpm (ver, rel にはバージョン番号と
リリース番号が入る) というのがあるので、それを
# rpm --rebuild kernel-ver-rel.src.rpm
というふうにすればいいです。(root でないとだめ)
> ./scripts/Configure は、
うちの Mandrake の kernel-2.2.13-7mdk.src.rpm の中には
kernel-2.2-i586.config というファイルがあります。
リビルドするときは
# cp kernel-2.2-i586.config arch/i386/defconfig
# ln -s arch/i386/defconfig .config
# make oldconfig
みたいなことをやってます。詳しくは SPEC ファイルを見て下さい。
RPM でのリビルドは
http://www.ns.musashi-tech.ac.jp/~inoue/Pages/Linux/rpm-packaging.howto.html
を参考にして下さい。
- 49 名前: 37 投稿日: 2000/01/13(木) 07:49
- あ、情報ありがとうございます。> 48
rpmでも再構築出来るのですね。今度 2.2.13(14が出てるのか?)に
あげる機会があったら、そっちでチャレンジしてみます。
(ここでslackwareは、どうなのかな?と、再び。^^;)
で LASER5は、/usr/src/linuxが /usr/src/linux-2.2.5への
シンボリックリンクとなっており、defconfigのタイムスタンプは
09/03/99なので、今回のわたしは純なカーネルが出来たのかな?
一応 /usr/src/redhat ってのもあるんですが、空なんですよ。
CD-ROMの中の lernel-ver-rel.src.rpmを探してみます。
(CD-ROMが、どこ行っちゃったかから探すんですけど。(^^;))
それとも LASER5から、千円で買わないといけないのな?
他のディストリビューションの方は、どうなのですか?
- 50 名前: ひろゆき 投稿日: 2000/01/15(土) 21:03
- topで見ると、深夜の時間帯でも、CPUは50%も使われてなかったです。
HDDがIDEなので、ファイルを開いたりという物理的操作に
時間をくって、同時に開けるファイル数をオーバーして、
internalserverエラーになってたようです。
今回のログ飛びで、HDDを変えたので、、カーネルもかえたのかなぁ?
昨日は、500エラーがなかったんですが、、
今夜はどうでしょう、、様子見です。
- 51 名前: 名無しさん 投稿日: 2000/01/15(土) 22:24
- 2chみたいなWebサーバって以外とCPUは全然使わないもの
なんですね。メモリが一番の重いボトルネックになってるのかな?
- 52 名前: 8 投稿日: 2000/01/16(日) 01:31
- >51
そんなことは無いです。場合によりけりです。
Perl使ったCGIの場合、CPUがネックになることのほうが
多いと思いますが・・・
メモリがネックになっているならスワップしまくっているはずです。
CPUが原因ならロードが大きくなっているはずです。
IDEとのことなので、ディスクIOがネックになっているのかなあ。
カーネルのバージョンはいくつだったんだろう。
けどIDEのディスクそのものは最近のは速いし、
LinuxもDMAに対応しているからなあ。
ディスクが原因とも思えないんだけど・・・
あとはCGIの作りがタコすぎるというのも考えられますが。
- 53 名前: 名無しさん 投稿日: 2000/01/16(日) 03:58
- 2, 38さんの書いてる記事を読みました。
確かに、Linuxのデフォルトだと、
サーバーとしてのネットワーク性能が...
と、ありましたから、jbbsの /usr/src/*linux*/include/linux
を覗いてみては?(残してるかな?)
NR_TASKS 512, __FD_SETSIZE 1024がデフォルトなので、
それより多ければ、AT-LINK側でカスタマイズしたのでしょう。
変わらなければ、HDDの性能差なんですかねぇ。。。
- 54 名前: ひろゆき 投稿日: 2000/01/16(日) 13:48
- #define NR_TASKS 512
512のままでしたー(^^;)
- 55 名前: ひろゆき 投稿日: 2000/01/16(日) 13:50
- perlではたいした処理はしてないので、CPU負荷はひくいようです。
ただ、index2.htmlの生成に、20個のファイルをよまなきゃいけないので、
HDDの物理的なアクセスにかかる時間がかかってしまいます。
んで、メモリがたりなくなってswapというのが、2ch.netの重くなる
パターンです。2ch.netの掲示板をjbbsに移転していけば、
少しはマシになるのでは?とたくらんでます。。。
- 56 名前: レンタルサーバー 投稿日: 2000/01/17(月) 00:38
- AT-LINK側は、あんまり Linux(PC-UNIX)に強くなさそうだね。
9をみると、「Linuxで初期設定で動作可能なプロセス数を超えて」
とか言ってたみたいだけど、特に何もしてないみたいだから。
(ただ、ほとんどの過去ログを戻してくれたのは、すばらしいかも。
オプションのバックアップを頼んでいたわけでは無いんでしょ?
>ひろゆき氏)
UNIXUSERに載っていたのは、kubotaのバーチャルドメイン・サービスを
始めた人達だったんだね。PC UNIXをサーバーとして使う為のスキルは
AT-LINKより上そうだ。
ただ両者の料金体系だけみると AT-LINK破格かも。
http://www.at-link.ad.jp/rss/s05.html
http://www.ksi.ne.jp/
ハード/OSを安く用意して、自分でイジり倒していくのが良いか、
そこは、プロに任せるか。。。
趣味なら前者、企業とかでWEBサイトを立ち上げたいとかなら後者、
なのかな?
- 57 名前: ひろゆき 投稿日: 2000/01/17(月) 06:33
- バックアップはたのんでません。
だから、ログ復帰してくれたのは嬉しいですね。
まぁ、契約一ヶ月でHDD飛ぶってのもやばいきもしますが、、、
ksiってとこが高いだけかも(^^;;;;;
- 58 名前: 名無しさん 投稿日: 2000/01/17(月) 10:27
- > ただ、index2.htmlの生成に、20個のファイルをよまなきゃいけないので
どういう風に読んでます?
まず一つ一つクローズしてるかどうか。
20個同時に開いたらあっというまに
ファイルオープン数の上限に達してしまいます。
全データメモリに格納しているかどうか。
@array=<FD>;
とかやってないですよね。
どういうデータ構造になっているかわからないのでなんとも言えませんが、
dbmを使ってみるといいかもしれません。
- 59 名前: ひろゆき 投稿日: 2000/01/18(火) 15:09
- 一個づつ、読んで、closeしてます。
whileで、一個づつ処理してるんですが、
それでも、大変みたいです。
靴屋のスミスさんのアイデアなんですが、
レスの後半10個だけのファイルをつくっておいて、
index2.htmlをつくるときは、それを読み出すだけってすれば、
だいぶ、処理が軽くなるとおもうです。
- 60 名前: 名無しさん 投稿日: 2000/01/18(火) 16:21
- テレホ時間帯に人気のある板は、TOP10スレッドに減らすとか。
今更システム(使い勝手とかの意味)を変えるのは、ちょっと苦しいか。
- 61 名前: 名無しさん 投稿日: 2000/01/20(木) 01:17
- 最近、2chでも Internal Server Errorが出始めたみたいですねぇ。。。
- 62 名前: ひろゆき 投稿日: 2000/01/20(木) 04:13
- 靴墨さんのアイデアの新・スクリプトを稼働させました。
今夜が楽しみです。
劇的に減るのかなぁ、、、あんまりかわらなかったりして、、、
- 63 名前: >61 投稿日: 2000/01/20(木) 09:53
- あ〜ちなみに、ここって1ディレクトリに何個くらいファイル
ぶちまけてる?
- 64 名前: >63 投稿日: 2000/01/20(木) 14:14
- スレッド数の分だけファイルがあるんじゃないんすか?
- 65 名前: ひろゆき 投稿日: 2000/01/20(木) 14:52
- http://www.2ch.net/unix/dat/
これでみれますよん。スレッドの数だけあります。
- 66 名前: 58 投稿日: 2000/01/21(金) 03:30
- ホントにIPとってないんですね。
データファイルが見られるとは。その姿勢、感服いたしました。
やはりdbm系をうまく使うと速くなるのでは・・・
逆順にするのに大量にメモリ消費してますよね?
あとですね、63いっているように大量のファイルを
同じディレクトリに置くとファイルの検索がかなり遅くなります。
ディレクトリ分割しましょう。
- 67 名前: >ひろゆき&66 投稿日: 2000/01/21(金) 03:49
- IP取らない管理方針に賛成。
理由:UGの精神と言論の自由が守れるし、反権力姿勢を示すことで
人がわんさか寄って来るので盛り上がって嬉しい。
- 68 名前: >65 投稿日: 2000/01/21(金) 03:54
- ん〜こんくらいの数ならば問題ないかなぁ。
1ディレクトリのファイル数がやっためたらと増えると
そのサーチだけでも時間食うから。
- 69 名前: UNIX USER 投稿日: 2000/01/24(月) 15:17
- 本屋にあったので読んでみた<バーチャルドメインの記事
・・・参考にならなかった。
あの記事の要点ってどこにあるんだろ?
誰かぉιぇτ〜
- 70 名前: 要約すると 投稿日: 2000/01/25(火) 18:12
- 既に2月号が発売されてたと思いますが。
>69
1月号のバックナンバーを読んだのでしょうか?
あの記事、よしだともこの「ルート訪問記」では、
Linuxを使った大規模サーバーを構築した KSIの人達への
インタビューです。
彼らは、元々 FreeBSDを使って、大規模サーバーを構築した事が
あったので、そのノウ・ハウを、今回の Linuxにも適用しました。
Linuxのネットワーク周りのチューニングを、いろいろしました。
そのノウ・ハウとしての例としては、
tasks.hでプロセス数を大きくしたり、
posix_type.hでオープン出来る数を増やしたり、...です。FreeBSDなら設定ファイルの一部を変更するだけで、
全てのパラメータが変わるのに、Linuxでは、どこをどうやって
変更したら良いか?と、いったドキュメントが、
まとめられて無いので苦労しました。
だったと思います。
- 71 名前: って優香@久しぶり(笑) 投稿日: 2000/01/25(火) 18:52
- 数週間前 2ch要望・批判を見ていたら、
深夜 jbbsでの Internal Server Errorについて、ひろゆき氏の
「サーバ会社のat-link側から、
『Linuxで初期設定で動作可能なプロセス数を超えてしまっているため』
と回答された。」というレスを読みました。
70さんの通り、UNIXUSERに、そのような記事が載ってたので、
情報を集めてから、ひろゆき氏が再構築してみては?
と、レスしたんです。
わたしは、PC UNIXについて詳しくないので、
この UNIX板なら、詳しい方々が見てないかな?と思ったのです。
で、結局 Linux側の設定がエラーの根本原因では無かったように、
見受けられますね。
- 72 名前: 名無しさん 投稿日: 2000/01/25(火) 23:50
- 71> で、結局 Linux側の設定がエラーの根本原因では無かったように、
そうでしょうか?
あの記事は、『Linuxを使って』大規模サーバーを構築した人達(KSI)
へのインタビューで、KSIのバーチャルドメイン・サービスの商品名は、
「ファーストサーバー」だそうです。
つまり、
「デフォルトの Linuxでは、昔のPCスペックに合わせてあるので、
大規模サーバーとしては、ネットワーク周りのチューニングが必要。」
と読みました。
それ用にチューニングする事で商売をしている方たちなので、
記事に載っていたチューニング方法が、全てではないのでは?
ここ暫く収まっていたみたいですが、今日 jbbsは出始めましたねぇ。
- 73 名前: 名無しさん 投稿日: 2000/01/26(水) 01:17
- apacheにmod_perlを組み込むというのは対策になりますでしょうか...?
既にやってる&大外しだったら申し訳ありません。
- 74 名前: ひろゆき 投稿日: 2000/01/26(水) 01:43
- apacheのmod_perlは今度やってみます。
実は、丁度いま、apacheのチューニングをしました。
どうやら、うまくいったようなので、今度はmod_perlに挑戦ですね。
MAXclientが256だったんですが、httpd.hをいじってコンパイルしなおして、
MAXclientsを500にかえました。これで、深夜の時間のhtmlを表示する
待ち時間は減ったかと、、次は、インターナルサーバエラーを潰すために、
カーネルですね。。ちょっとびびってます。。
- 75 名前: 73 投稿日: 2000/01/26(水) 04:07
- 今回の問題は過去記事にもあるように、
apacheとカーネルのチューニングで待ち受けの窓を増やす、
というのがとりあえずの解決方法みたいですね。
mod_perlの導入は、ひょっとしたら大仕事になるかも知れません。
書いておいてなんですが(^^;
(雑誌で見かけたのでちょっと書いてみただけなんです(^^;))
頑張ってください。
- 76 名前: ひろゆき 投稿日: 2000/01/26(水) 15:32
- はいー、apachのチューニングは失敗したら、
ふるいのを立ち上げなおすだけなんですが、
カーネルは、未知なので、びびってまーっす。
- 77 名前: 名無しさん 投稿日: 2000/01/26(水) 17:13
- > MAXclientsを500にかえました。
えっ・・・それで状況改善されました? (^_^;;;
にわかには信じがたいのですが・・・
- 78 名前: 改善は 投稿日: 2000/01/26(水) 22:44
- カーネルのチューンが終わって初めて効果が見えるのでは?
apacheで受付プロセスを増やして、
カーネルチューニングでプロセスの受け皿を増やす、
ってことですよね?
- 79 名前: 名無しさん 投稿日: 2000/01/26(水) 23:33
- jbbsが。(;_;)/~シクシク
>ひろゆきさん
頑張ってください。
- 80 名前: ひろゆき 投稿日: 2000/01/27(木) 02:37
- そんなこんなで、jbbsのメモリを増やしたとたんに、
不安定になったようです。。いま落ちてます(;;)
- 81 名前: んがぁ 投稿日: 2000/01/27(木) 12:13
- 77さんに同感
一度ちゃんとプロファイルした方がいいです。Linuxって何か
そういうツールありましたっけ?vmstatくらい?
apacheのクライアント数が足りない場合は単に蹴られるだけ
なので、今のような状況にはならないと思うんですが・・・
- 82 名前: 駒 投稿日: 2000/01/27(木) 15:28
- Free Solairs7は非商用利用のみOKですがFree Solaris8は
商用利用もOKになりそうです。Linuxでクラスタ化するのでもなければ
Solaris8をただで取って使ったほうが信頼性もパフォーマンスも
高いと思います。うまくいくかこればかりはやってみなければわからないし
まじめに使う(?)ならsunsolveの非公開パッチも欲しいし
パッチアクセス以外に技術サポートを買ったほうがいいのかも知れませんが。
memory不足で問題があったんですか>jbbs
とにかくIOを稼がないと大量のプロセスを走らせるようにしても
足回りに限界がきちゃうと思います。
- 83 名前: >駒 投稿日: 2000/01/27(木) 19:22
- レンタルサーバーのOSごと入れ替えちゃうのは、辛いでしょう。
>とにかくIOを稼がないと
具体的に?
- 84 名前: 名無しさん 投稿日: 2000/01/27(木) 23:54
- 今晩は調子良いね。
昼間落ちてたみたいだから、何かしたのかな? > jbbs
- 85 名前: 名無しさん 投稿日: 2000/01/29(土) 02:28
- 今晩はメッチャ調子良いです!
2chの方が何かと。。。
- 86 名前: ひろゆき 投稿日: 2000/01/29(土) 18:29
- 増設したメモリはずして、安定しました。。。
をいをい。。
- 87 名前: 名無しさん 投稿日: 2000/01/29(土) 19:33
- ハウジングだと、いろいろ大変そうですね
かといって太い線高いしね・・・
- 88 名前: >87 投稿日: 2000/01/29(土) 20:36
- 2chは文字主体だから、1.5Mもあれば十分じゃないかな?
計測してみることをお勧めします。
って、1.5Mも高いですか・・・
- 89 名前: ひろゆき 投稿日: 2000/01/30(日) 06:20
- index2.htmlが70kぐらいあるので、100kとして単純計算で、
150人でうまっちゃいます。テレホ時間帯はサーバのコネクションが
600以上になるので、、、
- 90 名前: >89 投稿日: 2000/01/30(日) 07:35
- あ、それはその程度でいいかもです。常にフルスピード
を出そうとするとC/Pがめちゃくちゃ悪くなります。もし
その速度を満たそうとすると、6Mの回線が要りますが、
6Mを入れたとしても昼間は遊んじゃいますからね。仮に
夜間同時コネクション数が600あったとしても、それら
のコネクションが同時にindex2.htmlを読みこんでいる
わけではなく、仮にその状態でも1:4なので、ユーザか
ら見た場合には回線の遅さは感じないでしょう。HTML
みたいな文字系だったら1:4より上げても大丈夫だと
思いますが。
- 91 名前: 名無しさん 投稿日: 2000/01/30(日) 22:46
- 何メガ増設したのか知りませんが、OSが増設したメモリ分をきちんと
認識しなかったとか?
- 92 名前: うーん 投稿日: 2000/01/31(月) 10:15
- > index2.htmlが70kぐらいあるので、100kとして単純計算で、
> 150人でうまっちゃいます。
その計算は、いろんな意味で違いますよ。
一人あたり100kbps出るわけじゃないでしょ?
それにアクセスを考えるなら待ち行列を考えないと。
このへんはネットワーク技術者なら常識ですし、
どんな本にも載ってます、勉強してください。
帯域についてだけ考えてみても、
一人あたり20kbps出るとして、1500kbpsあれば、
計算上は75人同時接続することができます。
> テレホ時間帯はサーバのコネクションが600以上になるので、、、
これが問題だと思います。
たくさんのアクセスがあるから600以上になるのではなく、
CGIが重すぎだから600以上になっているんです。
それなりに軽ければ秒20アクセスあったとしても、
そこまではの同時接続をサポートする必要はないと思いますね。
サーバ能力的にさばけるクライアント数は決まってきます。
それ以上の接続をうけつけても状況は悪くなるだけですよ。
個人的にはこれをきいて、
もうハードの増強でなんとかなる問題じゃないと判断します。
もっと分散できれば良いけど、それはコストもかかるでしょうしね。
- 93 名前: 名無しさん 投稿日: 2000/01/31(月) 20:24
- 92> もっと分散できれば良いけど、
要望・批判板を見てましたが、一部kitanetに移動したみたいですね。
これで快適になるなら、いかにあの板に集まる住民が多かった事か。。。
- 94 名前: 名無しさん 投稿日: 2000/02/06(日) 00:18
- バナー広告入れて資金面アップしたのかな?
jbbsは、とっても調子良いのですが、我らUNIX板のある2chの方で、
最近以下のエラーが多くなりました。
これって具体的に、どんな事が起きてるのでしょうか?
もう一度トライして事無きを得ているのですが。
ERROR
The requested URL could not be retrieved
--------------------------------------------------------------------------------While trying to retrieve the URL: http://www.2ch.net/test/bbs.cgi
The following error was encountered:
Read Error
The system returned:
(54) Connection reset by peer
An error condition occurred while reading data from the network. Please retry your request.
- 95 名前: 名無しさん 投稿日: 2000/02/06(日) 06:12
- これってプロクシサーバがいってるんじゃないですか?
- 96 名前: ひろゆき 投稿日: 2000/02/06(日) 20:20
- >たくさんのアクセスがあるから600以上になるのではなく、
>CGIが重すぎだから600以上になっているんです。
cgi自体の重さではなく、HDDにアクセスする時間の蓄積だと思います。
CPUはアイドルだったりするのですが、bbs.cgiで20個のファイルを
順次開け閉めするわけですから、その物理的時間の積み重ねで、
反応がとろくなってきてると思います。
ひとりひとりの回線速度ってよくかんがえたら、そんなにたかくないですよね。
それと、CGIを利用するのは10から20アクセスで後は全部httpdなんですよね。
夜中のjbbsの状況
- 97 名前: 92 投稿日: 2000/02/06(日) 21:16
- > これってプロクシサーバがいってるんじゃないですか?
それっぽいですね。
> cgi自体の重さではなく、HDDにアクセスする時間の蓄積だと思います。
って、同じことです。
プログラム的にHDDアクセスを最大限減らしているわけではないでしょう。
- 98 名前: ひろゆき 投稿日: 2000/02/06(日) 21:34
- >プログラム的にHDDアクセスを最大限減らしているわけではないでしょう
構造上、ファイルを読むのは減らせないとおもうんですが、、
データベースにすると、ログのやりとりがめんどいですし、
オフラインリーダーがつかえなくなってしまいますし。。
37さんと同じなんですが、設定ファイルを全く変えないでカーネルをつくるには
どうしたらいいでしょうか?
make oldconfigでやってもmake zliloでエラーがでてしまいました。
- 99 名前: むー 投稿日: 2000/02/06(日) 23:27
- いつも2ちゃんねるであそばせてもらってて感謝してます。
所詮鯖管理者もどきですが Apache のチューンで意見をすこし。
Apache の MaxClients は 150 もあれば十分ではないかと思います
I/O がボトルネックなら MaxClients が 150 だろうと 512 だろうと
差はないですし。むしろ MaxClients を増やすことにより
クライアントの増加に応じて Apache が fork し、メモリが
奪われるのでより悪くなるでしょう(これについては他の方も述べられていますが)
しかも悲惨なことに fork した Apache はメモリを抱え込んだまま
なにをするわけでもなくただ I/O 待ちをするだけ、
本来ならディスクキャッシュに割り当てられ、disk I/O 性能を
向上させるはずのメモリが無駄に浪費されるだけです。
もし仮に MaxClients を制限したことによりつなげなくなった
client はスロットがあくか timeout するまで待つだけですので
サーバリソースの浪費は押さえられると思うのですが・・・(ちと弱気)
というか sar とか動かしてますでしょうか?
file I/O や idle などの統計的な情報を時系列に沿って
まとめてくれる便利なツールです。
(Linux にはなかったかも(汗;;;))
あと、SpareServers の値も気になります。
もしよかったらお教えくください。でわ。
- 100 名前: 92 投稿日: 2000/02/07(月) 03:29
- >>プログラム的にHDDアクセスを最大限減らしているわけではないでしょう
>構造上、ファイルを読むのは減らせないとおもうんですが、、
データ形式とか構造、よく吟味しましたか?
>本来ならディスクキャッシュに割り当てられ、disk I/O 性能を
>向上させるはずのメモリが無駄に浪費されるだけです。
そうですね。
apacheのプロセスだけでメモリ食いつぶしている状況はよくないですね。
apacheの要らないモジュールはずしまくるというのも良いかも。
高速化と省メモリ化になります。
>あと、SpareServers の値も気になります。
>もしよかったらお教えくください。でわ。
apacheの子サーバをどういうふうに扱うかによりますね。
- 101 名前: ひろゆき 投稿日: 2000/02/07(月) 06:18
- Timeout 30 MinSpareServers 5 MaxSpareServers 10 MaxClients 500
あとは、デフォルトです。
メモリが384Mなので、メモリスワップもおきなくなりました。
いつも物理メモリが余るようになったのですが、クライアントは
減らした方がいいんでしょうか?
いらないモジュールのはずし方もよくわかってないもので、、、
- 102 名前: ひろゆき 投稿日: 2000/02/07(月) 06:53
- カーネル再構築をしたのですが。。。エラーがでちゃいました。
ools/build bootsect setup compressed/vmlinux.out CURRENT > zImage
Root device is (3, 1)
Boot sector 512 bytes.
Setup is 1268 bytes.
System is 529 kB
System is too big. Try using bzImage or modules.
make[1]: *** [zImage] Error 1
make[1]: Leaving directory `/usr/src/linux/arch/i386/boot'
make: *** [zImage] Error 2
bzImageでコンパイルすると、小さくなるということでしょうか?
それで支障がでたりというのはないんでしょうか?
質問ばかりですいません。
- 103 名前: > 102 投稿日: 2000/02/07(月) 06:59
- make bzImage でできるのはブート可能なでかいイメージです。
小さくはなりません。
zImage と比較して欠点があるというわけでもないはずです。
- 104 名前: ひろゆき 投稿日: 2000/02/07(月) 09:05
- bzImageのコンパイルができたのですが、
これをそのまま/bootにいれて、lilo.confで読み出すように
設定していいんでしょうか?
zImageとbzImageの違いってなんなのでしょうか?
- 105 名前: Mandrake使い 投稿日: 2000/02/07(月) 09:27
- > これをそのまま/bootにいれて、lilo.confで読み出すように
> 設定していいんでしょうか?
それでいいんです。
> zImageとbzImageの違いってなんなのでしょうか?
512kB を越える巨大(BIG)なカーネルイメージがブート可能かそうでないか
の違いです。
/usr/src/linux/arch/i386/boot/Makefile を読むと、
bzImage でコンパイルオプションに -D__BIG_KERNEL__
がつくようになってます。
ソースの違いはたったこれだけ。
/usr/src/linux/arch/i386/boot/bootsect.S
269 #ifdef __BIG_KERNEL__
270 #define CALL_HIGHLOAD_KLUDGE .word 0x1eff,0x220 ! call far * bootsect_kludge
271 ! NOTE: as86 can't assemble this
272 CALL_HIGHLOAD_KLUDGE ! this is within setup.S
273 #else
274 mov ax,es
275 sub ax,#SYSSEG
276 #endif
/usr/src/linux/arch/i386/boot/setup.S
93 #ifndef __BIG_KERNEL__
94 .byte 0x00
95 #else
96 .byte LOADED_HIGH
97 #endif
107 #ifndef __BIG_KERNEL__
108 .long 0x1000 ! 0x1000 = default for zImage
109 #else
110 .long 0x100000 ! 0x100000 = default for big kernel
111 #endif
- 106 名前: ひろゆき 投稿日: 2000/02/07(月) 14:48
- ありがとうございます。lilo.confを変えて、、立ち上がらなかったら、、
いくらか取られるのかなぁ、、、ドキドキ>at-link
ところで、http://www.osk.3web.ne.jp/~modelerq/linux/kernel.htm
ここのページだと、make modules、make modules_installというのも
やってますが、これも必要なんでしょうか?
- 107 名前: >105 投稿日: 2000/02/07(月) 18:19
- > > zImageとbzImageの違いってなんなのでしょうか?
> 512kB を越える巨大(BIG)なカーネルイメージがブート可能か
> そうでないかの違いです。
ハッ!てっきり、gzipで圧縮するかbzip2で圧縮するか?
だと思ってました。お恥ずかしい。。。(^^ゞ
>106
んー、、、こちらを良く読まれてからトライした方が良いかと。
http://www.linux.or.jp/JF/JFdocs/Kernel-HOWTO.html
- 108 名前: Mandrake使い 投稿日: 2000/02/07(月) 20:26
- > ハッ!てっきり、gzipで圧縮するかbzip2で圧縮するか?
> だと思ってました。お恥ずかしい。。。(^^ゞ
じつわ 103 を読むまで私もそう思い込んでました。
で、ソースをみて __BIG_KERNEL__ の記述を見付けたのでした。
$ find /usr/src/linux -name Makefile | xargs grep bzImage
でソースをたどりました。
> 106
> lilo.confを変えて、、立ち上がらなかったら、、
私は新しくカーネルをコンパイルしたら、lilo.conf を
image=/boot/vmlinuz-new
label=linux
root=/dev/hda2
read-only
image=/boot/vmlinuz-old
label=linux_old
root=/dev/hda2
read-only
みたいに lilo で linux_old と打つと古いカーネルで
起動できるようにしてます。
- 109 名前: 99 投稿日: 2000/02/07(月) 20:34
- >107
>gzipで圧縮するかbzip2で圧縮するか? だと思ってました。
同じく。bzip2の方が圧縮率が高いからおっきいカーネルも
ブートできるのかなぁとか。PC-UNIX はよくわかってない(^^;;
>101
お答えいただきありがとうございます。
>MinSpareServers 5 MaxSpareServers 10
これはかなり悲しい設定です。
せめて MinSpareServers 15 maxSpareServers 40
くらいは必要かと思います。Apache が fork して子 Apache を
生み出す速さは1秒に1つですので、スペアサーバがあまりに
少ないとアクセスの急峻な増加に立ち後れてしまいます。
余分に多くしてもメモリの無駄になりますけれども。
また、Apache 1プロセスが実メモリを 1.3MB くらいずつ消費する
ようなので、384MB のメモリで最大 500 の子 Apache を養うのは
無理があるように思えます。Apache 自身が swapout されてしまいます。
(OS によって Apache のメモリ消費量にも差があると思うので
詳しくは top コマンドで表示される RES もしくは RSS の値を
参考にしてください。)
では、今後とも快適な2ちゃんねるであることを願いつつ。
- 110 名前: 99 投稿日: 2000/02/07(月) 20:54
- あう、Apache 1プロセスはそんなにメモリ食わないようですね。
ウソ書いてしまったです。すみません。
150個起動していても 27MB くらいでした。
これはこれでなんか嘘臭い気が・・・(^^;
- 111 名前: 名無しさん 投稿日: 2000/02/08(火) 21:27
- モジュールはずして小さくしても1プロセス1MBくらいだろう。
普通は2MB弱くらいじゃないか。
MaxClients大きくし過ぎだって、最初のほうからでてるのに・・・
- 112 名前: ひろゆき 投稿日: 2000/02/08(火) 22:35
- Maxcilentsを350に減らしてみました。
MinSpareServers 15 maxSpareServers 40 に変更しました。
メモリスワップがなくなってるので、mod_perlを入れて、
perlの起動がなくなればなぁ、とおもいつつ、びびってます。。
- 113 名前: mod_perl 投稿日: 2000/02/09(水) 09:35
- 焼け石に水のような気がしないでもない。
というのは、perlの起動までにかかる時間を調べてみればわかる。
それがperlスクリプト実行終了までの全体の半分を占めるなら
パフォーマンスは約2倍になるだろうが・・・
もともとperlの起動にかかる時間の占める割合が小さいなら
焼け石に水、ってことになるわけ。
それにmod_perlいれると、1プロセスが大きくなる。
- 114 名前: 実験くん 投稿日: 2000/02/09(水) 18:45
- >113
実験してみるのも良いのでは?
- 115 名前: >114 投稿日: 2000/02/10(木) 03:16
- 実験するにはコケたときの影響がでかい気もするけど(苦笑)
- 116 名前: ひろゆき 投稿日: 2000/02/10(木) 06:35
- あいたたた、、(;;)
- 117 名前: だからさ 投稿日: 2000/02/10(木) 09:33
- まず実行時間を計測してみようよ・・・
- 118 名前: >117 投稿日: 2000/02/10(木) 19:05
- Perl起動の時間って、どうやって計るの?
スクリプトを実行する時に
$ time perl hoge.cgi
って計ったのと、
$ cat hoge.cgi
#!/usr/local/bin/perl
# この直後に時間表示
.. 処理 ..
# この直前に時間表示。
# 最後
ってやって、差分を取るのかな?
- 119 名前: 名無しさん 投稿日: 2000/02/10(木) 23:37
- 今日のjbbs.netなんとなく快適。
効果が現れた?
それともただの気のせいだろうか。
- 120 名前: Just Another Perl User 投稿日: 2000/02/11(金) 01:07
- /usr/bin/time perl -e "" とか。
- 121 名前: 117 投稿日: 2000/02/11(金) 01:38
- >120
Oh!そうか。素で計れば計れば良いのね。
それと hoge.cgiって実行権付ければ良かったのね。。。
お恥ずかしい。(^^;;;
ところで、"Just Another Perl User"さん良く見かけるけど、
もう1つのPerlって、なぁに?7月だっけ?
- 122 名前: Just Another Perl User 投稿日: 2000/02/11(金) 02:39
- 単に、Randal L. Schwartz の署名 "Just another perl hacker"
をもじって "Just Another Perl User" です。
# "Another" は User にかかっている。
- 123 名前: 117 投稿日: 2000/02/11(金) 12:19
- >120
それじゃあだめっす。まだuserだもんね ^^;
なんでかというとコンパイル時間が含まれていないから。
小さいのなら良いけどね。
解答はこう。
計測したいプログラムの先頭でtimesをやって、
最後でもtimesをやって、最後にでも表示すれば、
それが起動時間とプログラム全体の時間。
先頭でやるtimesをライブラリロードの後に行えば、
ライブラリロードにかかる時間もわかる。
これがまた結構時間食うんだ・・・
>121
この人はホントの117ではありません。
- 124 名前: Just Another Perl User 投稿日: 2000/02/11(金) 12:45
- 123:
「"perlの"起動にかかる時間」だからああ書いたんだけどな。
- 125 名前: 117 投稿日: 2000/02/12(土) 17:01
- >124
けど、話の流れからしたら意味の無いものでしょ。
ところでmod_perlはライブラリ関係もキャッシュしてくれるのかな?
- 126 名前: >117 投稿日: 2000/02/12(土) 18:05
- で、話の流れからするに、今回のような CGIの場合、どうするの?
hoge.cgiの先頭が、
#!/usr/local/bin/perl
だったら、perlの起動時間ってどうやって図るの?
- 127 名前: よいしょ 投稿日: 2000/02/14(月) 20:05
- こらしょ
- 128 名前: よいこら 投稿日: 2000/02/15(火) 22:46
- よいこら
- 129 名前: ひろゆき 投稿日: 2000/02/18(金) 06:02
- apacheのhostをlookupするのをやめたら、
ちょっとパフォーマンスあがりました。
22:00 pm: 27413 24 (0%): ###################
23:00 pm: 21768 8 (0%): ###############
24:00 pm: 0 0 (0%):
TOTAL 519871 214 (0%)
- 130 名前: 名無しさん 投稿日: 2000/02/18(金) 14:23
- > apacheのhostをlookupするのをやめたら、
それって常識なんですけど・・・ ^^;
ついでにログをとるのをやめるとまたあがるでしょう。
- 131 名前: 名無しさん 投稿日: 2000/02/18(金) 17:36
- ちょっと発見したので報告しときます。
>アクセス数が増えると、500エラーになってしまいます。
>改善方法として、カーネルをプロセス数の限度を変更して
>再構築するというものになるとおもうんですが、
ええっと、JF文書のファイアウォールの原文書いた人が
自分のページでWEBサーバーでストライピングやっちゃう
っていう文書を公開してますよん
- 132 名前: 名無しさん 投稿日: 2000/02/18(金) 19:36
- 今日発売のSoftwareDesignは
特集がカーネル再構築です。
内容は知らないけど。
- 133 名前: BB >132 投稿日: 2000/02/19(土) 00:17
- >今日発売のSoftwareDesignは特集がカーネル再構築です。
>内容は知らないけど。
「さあやってみよう!」系の記事なので、困っている人が参考になる
ようなものじゃありませんでしたよ。
それとどうでもいいことですが、個人的には、「Apacheの歴史」みた
いな記事が興味深かったです(買ってきちゃった)。
#SoftwareDesignはコラムが好き。
- 134 名前: >129 投稿日: 2000/02/19(土) 11:12
- >apacheのhostをlookupするのをやめたら
それって最近の Apache ではデフォルトの conf で
off になってますよね?
まさか on にしているとは・・・(^^;;;;;
SSI(Includes) 切るのと AllowOverride を必要最小限にするのも
パフォーマンスアップのコツですね。
あと、ログを別なディスクに吐くとか。
もうすでにやってたらすみません。
- 135 名前: ひろゆき 投稿日: 2000/02/21(月) 05:47
- ログもとめちゃいましたです。。
ログがでかすぎて、analogをつかってもタイムアウトしちゃうし、、
- 136 名前: うん 投稿日: 2000/02/21(月) 10:43
- あとはApacheコンパイル時にそのへん全部はずしちゃおう。
Configureの引数でできるよ。
- 137 名前: >129、134 投稿日: 2000/02/21(月) 19:26
- HostnameLookups は、めちゃめちゃパフォーマンスに関係するよ。
特に、クライアントがDNSに載ってないとき。
- 138 名前: 134>137 投稿日: 2000/02/21(月) 21:28
- そーですそーです<めちゃめちゃパフォーマンスに関係する
だからデフォルトで off になってるし、
「off だとパフォーマンスがあがるよ」とも conf に書いてあるのです。
それなのに無視して on にしちゃいけませんですぜぇ>ひろゆき氏
DNS引きなんか平日昼間の暇なときにログ解析ツールにやらせるものです。
それにしても速さが自慢の analog がタイムアウトするなんて
よほどにすごいログ量なんですね。。。
毎日100万ヒットぐらいしてるんですかね(笑)
- 139 名前: 名無しさん 投稿日: 2000/02/22(火) 16:15
- 頑張って勉強してクレイ>ひろゆき
- 140 名前: 名無しさん 投稿日: 2000/04/26(水) 20:51
- 結局、この件はどう解決したのかな
最近は結構速いけど。
ディスクアクセスがネックらしいけど、
http://www.at-link.ad.jp/topics/t31.html
を見るに、5400rpmなんですね・・・
あとは、LinuxのデファルトはU−DMA
が有効になっていないんだけど、それが原因だったとかの
しょうもない
- 141 名前: 名無しさん 投稿日: 2000/05/22(月) 11:50
- age