②また、qmailでメールを一斉送信する場合のサーバの負荷を調べて、送信の量を制御する方法も簡単にご説明をお願いします。
※プログラミング初心者です。
※①、②どちらか片方だけの回答でもかまいません。
◯1コマンドラインならtopというコマンドで、現在のCPU・メモリの使用状況が数秒単位で表示されます。
私の経験では、メモリの上で実行出来る限界までなら何の工夫もいらないので、データを最適化や正規化をやって一つ一つのデータを小さくするのが早道です。
どうしても、データの大きいままで実行しなければならなくなってからメモリの上でやるかどうか考えるといいと思います。
メモリ上でデータベースを実行するコマンドはありますが、逆はデフォルトではHDD上でデータを持ったまま実行しています。
最も使用頻度の高いデータのみをメモリ上に展開して、使用するというのが一般的なやり方のように思います。
http://marijuana.ddo.jp/xoops/modules/newbb/viewtopic.php?to...
データベースの実行時間の計算の目安としては、テーブルの容量を掛け合わしただけの時間がかかる物なので、出来るだけ容量を減らしてから実行するのが基本と思います。
キャッシュや、バッファの容量を変更するなどや回りのアプリケーションとの関連も有りますので、総合的に判断する必要がありますが、分からないときにはMySQLの各種confをコピーして使うのも一つの手です。
これは一例ですが、以下のようなconfが私のPCには上がっておりました。参考まで
/usr/share/doc/mysql-server-5.0.18/my-huge.cnf
/usr/share/doc/mysql-server-5.0.18/my-innodb-heavy-4G.cnf
/usr/share/doc/mysql-server-5.0.18/my-large.cnf
/usr/share/doc/mysql-server-5.0.18/my-medium.cnf
/usr/share/doc/mysql-server-5.0.18/my-small.cnf
ありがとうございます。ちょうどMySQL使ってました。初心者といってもほんとにプログラミングやパソコンの仕組み勉強始めたばかりだったので、難しかったのですが何とかわかりました。topはlinuxのコマンドでMySQLのサーバのお話ということでよろしかったでしょうか。cnfはサーバの設定ファイルのようですね。
説明不足と私の文章がおかしかったようです。申し訳ございません。以下、加筆をさせてください。
本に書いてあることですが、掲示板のスクリプトのコーナーでした。fetchall_arrayrefで結果を全部メモリに溜め込むという話です。データが大きい場合はメモリ不足を起こすことがあって、読者の宿題にするということでした。例えば、スクリプト側でどういったふうに書いて負荷の情報を取得して、分散させるのかを知りたいです。それとも負荷のあることを予想して書くのでしょうか。そこで、同じようにスクリプト側で、CPUの負担などについても管理する例がないかとふとおもいまして、qmailについてもスクリプト側で負荷情報を取得して、ペースを調節したりできるのかあわせて質問させていただきました。
例えば、レンタルサーバで、CGIを動かすときなどCPUやメモリなど考えなくても大丈夫なのでしょうか。サーバ側で、メモリ不足のときの処理など自動で分散してくれるのでしょうか。
よろしくお願いします。
[追記]自分でも調べているところですが、qmailはメモリ、CPUではなく通信状況を調べることになるんでしょうか。