5 返信 最新の回答 日時: Jul 3, 2011 5:22 PM ユーザー:Shin

    サーバーの設定変更について教えてください。

    kimiysu

      タイトル

      サーバーの設定変更について教えてください。

      フォーラムに投稿

      いつも初歩的な質問で申し訳ございません。

      MacOSXserver10.4.11でfms10advを使用しています。

      導入当初よりクライアントやファイルが増えたうえにレコード数も多くなり、起動が遅くなってます。

      そこでデータベースキャッシュの値を上げようと思ってます。

      バックアップなどは即座に実行反映されますが、データベースキャッシュの値変更は即反映されますか?

      ちなみにテストサーバーで実施したらログには即座に「データベースのキャッシュのサイズ:800MB」と変更後の内容が出てきます。

      やはり再起動は必要でしょうか?

        • 1. Re: サーバーの設定変更について教えてください。
          Shin

          キャッシュサイズの変更は、即反映されるようです。

          ただ、キャッシュを大きくしても、起動速度に大きく影響はないと思います。

          例えば、いったんサーバーをとめて、大きなファイルを最適化する、などのメンテナンスをしてみる、というほうが効果的だと思います。

          また、起動の際に動いているスクリプトや開くファイルを見直す必要もあるかと思います。新しい関連テーブルが必要になったときに、新しいファイルを作るより、同じファイルの中にテーブルを作るほうが、開く速度は早いです。

          • 2. Re: サーバーの設定変更について教えてください。
            kimiysu

            いつもありがとうございます。


            私もあれから仮サーバーをたてて実験しました。

            メモリの使用状況を見ながらキャッシュサイズを変えたところ即座にメモリの使用サイズも変わったので、Shinさんが仰るとおりと確認しました。

            しかし、現在使用しているサーバー設定を変更する勇気がありませんので、次回のメンテの時にしようと思ってます。


            当方は業務が24時間365日動いてるため、、fmsサーバーを停めてのメンテ作業は年2回が限度です。

            その間に肥大化したファイルなどの最適化(レコードの間引き)をしたいと思ってますが、以前大量にレコード削除したときfmsがクラッシュしたことがあり躊躇しています。

            何か策はないかと悩むところです。

            • 3. Re: サーバーの設定変更について教えてください。
              Shin

              大量のレコード削除は、サーバーに取って非常に重い動作ですので,余り行なわない方が良いでしょう。また、これが避けられる様な設計も重要だと思います。また、レコードの新規作成や削除、特にレコードの削除は、ファイルの中のフラグメントを大きく進めてしまいますので、新規作成、削除の多いファイルは、定期的な最適化が必要だと思います。

              ただ、ファイルが大きいと最適化も非常に時間がかかってしまいますので、難しいでしょうが、ファイルの安定と、サーバーの安定稼働のために、システムを止めてでも数ヶ月毎にメンテナンスを行われる事をお薦めします。

              私の会社も、365日24時間稼動していますが、数ヶ月を目安に定期的にシステムを休止し、メンテナンスを入れています。

              • 4. Re: サーバーの設定変更について教えてください。
                kimiysu

                shinさん、いつもありがとうございます。

                今回新たなサーバーマシンを2台調達でき、その移行作業でメンテ停止をすることにしました。

                大量のレコード削除は以前に一気に10万レコード削除を実行したことがあります。

                削除自体は正常終了したのですが、その数時間後にサーバーフリーズと言うことが起きてしまいました。

                今頭を悩ませているファイルは1ヶ月に10万レコード近く増え、なおかつ最低でも1年間は消せないと言うものです。

                当然、ソートや不定期な検索をすると相当な負荷を掛けてしまいますので、サーバー停止ついでに何か策を打とうかと検討しています。

                「これが避けられる様な設計」とは具体的にどのような設計でしょうか。

                • 5. Re: サーバーの設定変更について教えてください。
                  Shin

                  大量のレコードを削除すると、サーバーがフリーズする事はよくある事の様です。(困ったもんだ)今の運用を続けるのでしたら、少量ずつ削除していく、という方法は如何でしょう。サーバーサイドスクリプトを作り、削除対象となるレコードを数千レコード程度検索し、削除していきます。それを、夜間等の比較的アクセスの少ない時刻に動かします。数回に分けて動かしても良いでしょうね。

                  私が設計するとすると、削除の無い設計にします。作成後1年以上経過したレコードも、そのまま放置しておきます。必要に応じて,ユーザーアカウントからのアクセスを禁止します。これによって、レコードが削除されているかの様に見えると思います。(私の会社でも、この運用をしています。FMS5.5ですが現在300万レコード超です)

                  余りにファイルが大きくなってしまった時には、レコードの削除ではなく,生きているレコードを新しいファイルへインポートし、そちらでの運用へ変更します。サーバーを止める必要がありますが、時間的には同じですし,年1回程度行なえば良いのではないでしょうか。