- データベース構造の見直し~以前のシステムのテーブル構造は無駄に細切れになっていたので非正規化を施しました。パフォーマンスアップを図ったつもりなのですが、現在の実装ではその恩恵は得られていないかもしれません。今後、パフォーマンスチューニングを行っていきます。(実は、きちんと負荷試験を行っていなかったりします。近いうちに行いたいとは思っているのすが。)
- フレームワークの変更~プレゼンテーション層はClick Frameworkのまま変わらないのですが、BO層、データアクセス層に国産DIコンテナであるSeraser2を採用しました(データアクセス層はS2Daoです)。というか、以前はBO層、データアクセス層などというレイヤは存在せず、プレゼンテーション層でDB更新を行っていました。初代システムはあくまでプロトタイプ的な位置づけだったのですが、案外動くものができたので、そのままサービスを開始してしまったのでした。
そのほかの今回の目玉機能は、アクセスランキングの表示でしょうか。このブログで不定期で発表していましたが、その必要も無くなってしまいました。裏側の話をすると、ランキングの表示はリアルタイムではありません。当初はリアルタイムでランキングの表示をしようと思っていたのですが、案外、ランキングを計算する処理のコストが大きかったため、リアルタイムでの表示はあきらめました。ランキングの計算だけで数秒かかってしまうため、常にトップページの表示でそれだけの負荷を掛けるのは現実的ではないと判断したためです。それに、それほどアクセス数も多くはないため(リアルタイム性が求められるものではないし)、ランキング計算の処理はバッチ処理とし、計算したランキングを、アクセス状況の要約テーブルに更新するようにしました(このバッチ処理をcronで10分ごとに起動しています)。トップページのランキングはその要約テーブルの値を表示しているだけです。
新しいシステムを使った中で、何か思いついたことがあれば連絡していただけると助かります。バグ報告も歓迎です。よろしくお願いします。
あ、そうそう、システムのリニューアルのタイミングで、システム名をEQ2@Naviとしますので、ご愛顧のほど、よろしくお願いします。
0 件のコメント:
コメントを投稿