タグ

ブックマーク / www.limy.org (5)

  • レプリケーションを使う - Unlimited Island

    レプリケーションとは、あるデータベースから他のデータベースに複製を作ることです。 これは通常、以下のような理由から使われます。 サーバがダウンしたときの対処 複数のデータベースが同じ内容を持つことで、一つのサーバがダウンしても 他のサーバを使うことが可能になります。 負荷分散 複数のデータベースを交互にアクセスすることで、一つのサーバに掛かる負担を減らすことが出来ます。 MySQLでは「一方向レプリケーション」を採用しています。 一つのサーバを「マスタ」として機能させ、残りのサーバが「スレーブ」になります。 データの複製は「マスタ→スレーブ」という方向でのみ行われます。 そのため、データの更新は必ずマスタサーバで実行する必要があります。 マスタサーバで更新を行うと、その更新内容が全てのスレーブサーバに通知され スレーブサーバはマスタサーバと同じ更新処理を行います。これにより、マスタとスレー

  • Javaパフォーマンス改善作戦

    おすすめリンク - Java Performance Tuning News(日語版) さて、このページではJavaに関する話をしようと思います。 パフォーマンス改善を中心にした話なので、ちょっと難しい話も出てきますが 頑張って着いてきて(笑)下さい。 優先順位 まず最初に話したい事は、これから説明するJavaプログラムのパフォーマンス改善策は あくまで最終手段であるということです。 まずやるべき事、それはアプリケーションの中で 「どの部分にどの位の時間が掛かっているか」を計測する事です。 そして、一番時間が掛かっている部分から改善することを心掛けましょう。 おそらく多くの場合、それはデータベースへアクセスしている箇所のはずです。 ですから、まずデータベースの設計を見直します。 次に、データベースへ発行しているSQL文をチューニングします。 それらをチューニングした上で、さらにパフォーマ

  • Commons DBCP

    Commons DBCP は、データベースのコネクション・プーリングを扱うライブラリです。 Tomcat で標準採用されています。 動作説明 動作を簡単に説明します。 クライアントから接続要求が発生した場合 … getConnection() 1. DBCPは、プール内に空き接続があるか確認 2. あればそれを返す。この時その接続は アクティブ となる 3. プール内に空き接続が無ければ、新たに接続を作って返す クライアントから切断要求が発生した場合 … conn.close() 1. 切断要求のあった接続をプール内に保管する。この時その接続は アイドル となる 2. もしプール内に maxIdle 以上の接続が溜まったら、それ以上にならないように接続を削除する 接続監視スレッド DBCPには接続監視スレッドというものが存在します。 これは一定時間毎にプール内のアイドル接続をチェックするも

    takami_hiroki
    takami_hiroki 2008/03/01
    PreparedStatementキャッシュを用いることで、Webアプリケーションの性能向上を図ることができる。この機能を積極的に使ってよい。
  • Tomcat5 - server.xml

    Tomcat5.5のserver.xmlについての解説です。 項目の中にはまだ実際に機能していないものも多数あります。 また、今後新たな項目が追加される可能性もあります。 要素の親子関係 Server server.xmlのルートになる唯一の要素(Element)です。 className 使用するサーブレットコンテナクラスを指定します。 このクラスは org.apache.catalina.Server インターフェイスを実装している必要があります。 省略すると、org.apache.catalina.core.StandardServer がデフォルトで使用されます。 port このサーバがシャットダウンコマンドを受け取るために待機するポート番号を指定します。 shutdown このサーバをシャットダウンさせる為に使用するコマンド文字列を指定します。 上で指定したポートは、この文字列を

  • リフレクションおよびマッピングの使用について

    Javaは静的型付け言語です。 つまり、変数は宣言したときに型が決定されますし 呼び出すメソッドは予め定義されていなければいけません。 これをある程度解決するために用意されているのがリフレクション(Reflection)です。 Reflectionを使うことによって、使用するクラスやメソッドを動的に決定することが出来るようになります。 しかし、これは非常にリスクのある方法だということを良く知っておく必要があります。 Reflectionのメリットは以下の一点に尽きるでしょう。 動的にクラスやメソッドを決定できる これは、コードの変更無しにロジックをカスタマイズできる事を意味します。 しかし、数々のデメリットがあります。 実行するまで例外を捕獲できない これはJavaの持つ静的言語としてのメリットを消してしまう事になります。 throwされる例外が多過ぎる 例えば、動的なメソッドを実行するた

    takami_hiroki
    takami_hiroki 2007/12/11
    [メリット/デメリット]
  • 1