練習ページ/58
Last-modified: 2015-06-19 (金) 00:47:14
コメント欄検討用資料
種類 | pcommentプラグイン | rtcommentプラグイン | zawazawaβ |
現在の使用箇所 | コメント欄等多数 | 雑談チャット | 試用のみ |
処理サーバ | wiki鯖 | 外部鯖 | 外部鯖 |
負荷対応(運営側) | キャッシュサーバ設置済み | 手動にてチューニング | オートスケールに対応 |
wiki鯖へのアクセス | 表示および書き込みの全て | 最初の表示のみ | 最初の表示のみ(埋め込み時) zawazawa.jpからの利用時は全くなし |
ログ保存 | wikiページとして保存 行数・文字数のオーバー時は手動で更新が必要 | 外部鯖に1000行まで保存 古いものから順次自動的に消去される | 全て保存される? |
wikiダウン時 | 表示不可 | ページをリロードしなければ更新可能 リロードすると表示不可 | ページをリロードしなければ更新可能 リロードすると表示不可 zawazawa.jpから常に利用可 |
最新ログの表示 | 手動 | 自動(チャット風) | 手動(新着表示・リロードボタン有) |
表示更新時のアクセス | wiki鯖(表示のみはキャッシュ鯖有効) 書き込み時はキャッシュ無効で負荷大 | 外部のみ | 外部のみ |
書き込みの表現・装飾 | wikiページと同じ | テキストのみ | Markdown記法やHTML(の一部)が使用可 wikiとは記述法が異なるため共用できない |
階層化 | 第3レベルまで(なしも選択可) | なし | 第3レベルまで |
ログ管理 | wikiページと同じ | 一切不可 | 自分の書き込みは変更・削除可 管理グループは任意のコメントを削除可 |
DiffAnalyzer | 有効 | 無効 | 無効 |
アクセス制限 | SMS投票による規制 (管理者による規制が可能だが不在) | なし | 管理グループによる規制が可能 ただし管理権限付与は手動 |
NGワード設定機能 | なし? | なし | なし |
個人識別 | DAのID(IPアドレス依存) SMS認証(電話番号依存、規制投票兼用) | トリップ機能 | ユーザ登録によるアカウントID表示可 (表示せずにゲストのように見せることも可能) ゲストはセッションIDおよびIPアドレス(管理画面のみ) |
zawazawa仕様簡易まとめ
※zawazawaはベータ版につき仕様は変更される可能性があります
権限毎の主な利用可能機能は以下の通り。
機能 | オーナー | アドミニ ストレ ーター | モデレ ーター | メンバー | ゲスト | 備考 |
---|
グループ設定 | ○ | ○ | × | × | × | |
トピック作成 | ○ | ○ | ○ | ○ | △ | |
タグ管理 | ○ | ○ | ○ | ○ | × | 作成/設定 |
コメント投稿 | ○ | ○ | ○ | ○ | △ | |
コメント削除 | ○ | ○ | ○ | × | × | 一括削除を含む |
無視設定 | ○ | ○ | ○ | × | × | |
メンバー管理 | ○ | △ | × | × | × | |
管理ログ閲覧 | ○ | ○ | ○ | ○ | × | |
各種一覧閲覧 | ○ | ○ | ○ | ○ | × | |
- zawazawaと2ch互換掲示板の用語の対応関係は「グループ=板」「トピック=スレッド」「コメント=レス」
- 基本的な仕様は wikiwiki.jp/新サービスのお知らせ の通り
- [[BracketName]]形式でのリンク設置は不可
- ログインユーザーがログインしたまま名前を隠して投稿してもコメント一覧(メンバー以上閲覧可)にはidが表示され識別可能
- オーナーはグループの作成者
- アドミニストレーターはオーナーとアドミニストレーターの除名はできない
- グループ全体ないしトピック単位で非メンバーの閲覧と投稿を制限できる
- メンバーの権限単位での閲覧・投稿制限はできないためモデレーター専用トピックなどが必要なら別グループが必要
- アドミニストレーターはアドミニストレーターを増殖させられる
- 上位権限のメンバーのコメントを削除したり無視対象に設定したりできる
- モデレーターがアドミニストレーターのコメントを一括削除(トピック/グループ単位)することも可能
- そして一度削除されたコメントは復活できない
- 不用意に権限をあt(ry
- コメントの削除・編集時の処理
- 投稿者が削除したコメントは管理画面のログからも消える。
- 投稿者以外(モデレーター以上のメンバー)が削除したコメントは管理画面のログに残る。
- 編集されたコメントは最新の内容しかわからない。(編集前の内容は管理画面のログにも残らない)
- コメント編集の有無は打ち消し線の入った最初の投稿日時と最終更新日時が併記されるため誰でも識別可能。
- ただし最終更新日時しか表示されないため、いつ編集されたか、何回編集されたかはわからない。
イベントページの高負荷対策
現状
- イベントの度に限界までページが肥大化してしまう
- 記述内容が多くかつ頻繁に更新されるため、編集時に衝突が起きやすくなる
- ページの読み込みが遅くなる、場合によってはエラーが発生してしまう
- 編集時の読み込みが不完全なまま更新してしまい、意図しない記述の削除が発生してしまう
イベントページにおいて、pcommentプラグインの使用時にwikiへの負荷が高まる仕組みをざっくり
wiki鯖のフロントにはキャッシュ鯖が設置されていて、画像やコンテンツを一定時間キャッシュしている
↓
アクセスが殺到しても通常はキャッシュ鯖の(必ずしも最新ではない)データが送信されるのでwiki鯖の負荷は小さい
↓
pcommentで投稿したブラウザは一定時間キャッシュなしで表示される(空投稿すると最新が表示されるのはこの仕様による)
↓
イベントページが大きく、かつコメント欄がたくさんあるため、どこかに書き込みが発生すると
書き込みデータを送信すると共にイベントページの最新データもwiki鯖から取得することになるため、wiki鯖への負荷が高まる
(イベントページもコメントログもキャッシュ鯖を経由せずに取得するため、wiki鯖が処理しなくてはならない)
解決方法は…
- イベントページを分割し、リロードされた時の負荷を軽減する
- pcomment欄に書きこまれていたコメントの一部をrtcommentかzawazawaによるコメント欄に逃がす
- イベントページはキャッシュ鯖から取得、コメント部分は外部鯖から取得することになり、wiki鯖の負荷が軽減される
ちなみに…仮にwiki内の全てのpcommentをrtcommentに置き換えると(非現実的ですが)
WIKIサーバーの負荷は通常を100%とした場合、20%程度に負荷を軽減できます。
(WIKIWIKI.jp*運営チームの返信より引用)