logoWebRelease 2 ユーザーズマニュアル
Version 2.75Y 版
menu
1章 はじめに
  • 1. はじめに
  • 2. WebRelease の利用環境
  • 3. 製品のライセンスについて
2章 ユーザ管理
  • 1. WebRelease のユーザ管理
  • 2. ユーザの登録
  • 3. ユーザの休止
  • 4. ユーザの削除
  • 5. ログインユーザ一覧
  • 6. ログイン履歴
  • 7. ユーザ登録情報の一括処理
3章 サイトの作成
  • 1. サイトの作成
  • 2. サイト設定
  • 3. スタッフ設定
    • 1. スタッフごとのテンプレート設定
    • 2. スタッフのフォルダへのアクセス制限
    • 3. スタッフの承認ステップ
    • 4. スタッフの解任
  • 4. サイトリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソース名の一括設定
    • 5. リソースの一括削除
    • 6. リソースフォルダ
  • 5. 辞書の管理
  • 6. 外部リンクのチェック
  • 7. サイトのエキスポート
  • 8. サイトのインポート
  • 9. サイトの閉鎖
  • 10. サイトの削除
  • 11. サイトの操作履歴
4章 FTPの設定
  • 1. FTP の設定
  • 2. プライマリチャネルの設定
  • 3. FTP 記録の参照
  • 4. FTP の実行状況
  • 5. FTP 予約(定時起動)の設定
5章 テンプレート
  • 1. テンプレート
  • 2. テンプレートの作成
  • 3. 文書型の定義
  • 4. 要素のタイプ
    • 1. 1行テキスト
    • 2. 複数行テキスト
    • 3. WYSIWYG エディタ
    • 4. ラジオボタン
    • 5. ポップアップボタン
    • 6. チェックボックス
    • 7. 年月日/時分/秒
    • 8. 目次
    • 9. リンク
    • 10. イメージ (GIF/JPG/PNG)
    • 11. 添付ファイル
    • 12. XMLリーダ
    • 13. コンポーネント
    • 14. グループ項目
    • 15. セレクタ
    • 16. 各要素に共通の設定項目
  • 5. テンプレートの展開
    • 1. 要素参照
    • 2. 関数呼び出し
    • 3. 演算子
    • 4. テンプレートリソース
    • 5. リソース参照
    • 6. メソッド
    • 7. 拡張タグ wr-if wr-then wr-else
    • 8. 拡張タグ wr-switch wr-case wr-default
    • 9. 拡張タグ wr-conditional wr-cond
    • 10. 拡張タグ wr-for
    • 11. 拡張タグ wr-break
    • 12. 拡張タグ wr-variable
    • 13. 拡張タグ wr-append
    • 14. 拡張タグ wr-clear
    • 15. 拡張タグ wr-return
    • 16. 拡張タグ wr-error
    • 17. 拡張タグ wr-- と wr-comment
  • 6. WYSIWYG エディタ設定
  • 7. テンプレート・プロファイラ
  • 8. テンプレートのリビジョン
  • 9. テンプレートのダウンロード
  • 10. テンプレートのアップロード
  • 11. テンプレートの上書きアップロード
  • 12. テンプレートのフォルダ
  • 13. テンプレートの状態
  • 14. テンプレートの削除
  • 15. ページ作成後のテンプレート修正
  • 16. 入力フィールドの短縮表示
  • 17. 作成したページの一覧
  • 18. テンプレートを利用可能なスタッフの設定
  • 19. テンプレートの操作履歴
  • 20. テンプレートを参照している目次の一覧
  • 21. テンプレートの検索
6章 コンポーネント
  • 1. コンポーネント
  • 2. コンポーネントの使用例
  • 3. コンポーネントとセレクタ
7章 ページの作成
  • 1. ページの作成の手順
  • 2. ページのプレビュー
  • 3. 実機でのプレビュー
  • 4. ページの状態
  • 5. ページの編集と編集完了
  • 6. ページリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソースの一括削除
    • 5. リソースフォルダ
  • 7. ページの公開と公開終了
  • 8. ページの削除
  • 9. ページのリビジョン管理
  • 10. ページのリビジョン間の比較表示
  • 11. リンク元一覧
  • 12. ページ内の外部リンク一覧
  • 13. ページの公開状況
  • 14. スケジュール一覧
  • 15. フォルダ
  • 16. バージョニングフォルダ
  • 17. ページの一括処理
  • 18. 一括ページ登録
  • 19. html と関連リソースの zip 取り込み
  • 20. WYSIWYG エディタの使い方
  • 21. Markdown の使い方
  • 22. ページの操作履歴
  • 23. コンテンツ中の語句のチェック
  • 24. ページの検索
8章 マルチデバイス配信
  • 1. 多チャネル化
  • 2. チャネル別コンテンツの生成
  • 3. チャネル選択機能
9章 承認プロセスの設定
  • 1. 承認ステップの定義
  • 2. 承認プロセスの定義
  • 3. 承認プロセスをフォルダに関連付ける
  • 4. 承認プロセスによる公開管理
    • 1. ページの公開承認依頼
    • 2. 承認と差戻
    • 3. 承認プロセスとページの公開終了
    • 4. 承認依頼フォルダ
    • 5. 一括承認依頼
    • 6. 一括承認
    • 7. 緊急対応としてのページの公開と公開終了
    • 8. 承認依頼の削除
    • 9. 進行中の承認依頼の管理
10章 その他の機能
  • 1. ダッシュボード
  • 2. 英語インタフェース
  • 3. タイムゾーンの指定
11章 システムの運用管理
  • 1. WebRelease の停止と起動
  • 2. データのバックアップ
  • 3. メモリ設定
  • 4. メールサーバの設定
  • 5. Proxy サーバの設定
  • 6. その他のシステム設定
  • 7. 証明書のインポート
  • 8. ストレージの管理
  • 9. 操作履歴
  • 10. ログファイルのダウンロード
  • 11. ログインエラーへの対応
  • 12. WebRelease のバージョンアップ
  • 13. ライセンスのアップグレード
  • 14. 期間ライセンスコードの更新
  • 15. WebRelease の Uninstall
12章 索引
  • 1. 関数索引
    • 1. add
    • 2. allObjects
    • 3. allPages
    • 4. channel
    • 5. channelCookieName
    • 6. channelName
    • 7. codePointAt
    • 8. comma3
    • 9. concatenate
    • 10. contentType
    • 11. count
    • 12. currentTime
    • 13. divide
    • 14. encoding
    • 15. fileName
    • 16. fileSize
    • 17. find
    • 18. firstElement
    • 19. folder
    • 20. formatDate
    • 21. formatDateRFC2822
    • 22. formatDateW3CDTF
    • 23. fullURL
    • 24. gengou
    • 25. getXML
    • 26. group
    • 27. halfwidth
    • 28. hasElement
    • 29. hasMethod
    • 30. head
    • 31. indexOfPage
    • 32. isEven と isOdd
    • 33. isFirstElement と isNotFirstElement
    • 34. isFirstPage
    • 35. isLastElement と isNotLastElement
    • 36. isLastPage
    • 37. isNull と isNotNull
    • 38. isNumber
    • 39. isPreview と isNotPreview
    • 40. jstr
    • 41. kmg1000
    • 42. kmg1024
    • 43. lastElement
    • 44. lastModifiedDate
    • 45. length
    • 46. multiply
    • 47. nextElement
    • 48. nextPage
    • 49. number
    • 50. pageCreatedDate と revisionCreatedDate
    • 51. pageID
    • 52. pageRevision
    • 53. pageTitle
    • 54. pageWithPageID
    • 55. parseDate
    • 56. parseDateRFC2822 と parseDateRFC2822Relaxed
    • 57. parseDateW3CDTF
    • 58. parseHtml
    • 59. path
    • 60. prevElement
    • 61. prevPage
    • 62. previewClock
    • 63. quote
    • 64. remainder
    • 65. replaceAll と replaceFirst
    • 66. resourceURL
    • 67. resourceWithName
    • 68. rtlCount
    • 69. rtlRatio
    • 70. scheduledEndDate
    • 71. scheduledStartDate
    • 72. searchText
    • 73. setScale
    • 74. siteTimeZone
    • 75. sort
    • 76. split
    • 77. startsWith と endsWith
    • 78. string
    • 79. stripTags
    • 80. substring
    • 81. subtract
    • 82. suffix
    • 83. tail
    • 84. templateName
    • 85. thisPage
    • 86. toEntityRef
    • 87. toLowerCase と toUpperCase
    • 88. trim
    • 89. unescapeEntities
    • 90. unsplit
    • 91. width と height
  • 2. オブジェクト索引
    • 1. Channel オブジェクト
    • 2. CheckBox オブジェクト
    • 3. Folder オブジェクト
    • 4. HTMLComment オブジェクト
    • 5. HTMLDataNode オブジェクト
    • 6. HTMLDocument オブジェクト
    • 7. HTMLElement オブジェクト
    • 8. HTMLElements オブジェクト
    • 9. HTMLTextNode オブジェクト
    • 10. Page オブジェクト
    • 11. Selector オブジェクト
    • 12. XMLFeed オブジェクト
13章 Appendix
  • 1. サポートされているタイムゾーン
  • 2. プレビュー時の URL 書き換え機能
  • 3. 正規表現
  • 4. 要素名・リソース名・変数名・メソッド名

5章 テンプレート

7. テンプレート・プロファイラ

テンプレート・プロファイラは、テンプレートの性能改善を行う場合に必要になる情報を収集記録するためのツールです。

WebRelease を使い続けていると次第にサイトのページ数も増え、FTP時間が徐々に長くなり、もう少しFTP時間を短縮できないかを検討しなければならなくなる場合があります。そのような時にはテンプレート・プロファイラを使うと良いでしょう。テンプレート・プロファイラを使えば、テンプレートの展開やメソッドのどの処理でどの程度の時間を費やしているのかを調べることができるので、実測値に基づいた効率的なテンプレートチューニングが可能になります。

テンプレート・プロファイラを起動する

テンプレート・プロファイラは FTP 実行中に動作します。テンプレート一覧画面の「プロファイル」タブにある「次回 FTP 時に計測実施」というチェックボックスを ON にした状態で FTP を実行すると、その FTP 中にテンプレート・プロファイラが動作して、各種の情報を収集します。(このチェックボックスを ON するだけで OK です。保存ボタンはありません)

「次回 FTP 時に計測実施」というチェックボックスを ON にする

テンプレート・プロファイラを ON にした状態で FTP を実行すると、FTP時間(コンテンツ生成時間)が少し長くなります。状況によりますが、FTP時間が 30 % 程度長くなる場合があります。テンプレートプロファイラを使うのはテンプレート開発やチューニングの作業中だけにして、実運用の状況ではテンプレートプロファイラは OFF にしておく方が良いでしょう。

プロファイル結果の見方

プロファイル結果の見方を例を使って説明します。このスナップショットは、あるサイトでテンプレート・プロファイラを使ってプロファイルを取得した結果です。プロファイルが実行された状態では、プロファイル画面にはこのようにプロファイル結果が表示されます。

テンプレート・プロファイラを使ってプロファイルを取得した結果の例

図中、オレンジ色の枠で囲まれている行は、コンテンツ生成処理中にもっとも時間を消費したメソッドに関する情報です。このケースでは、MethodLibrary というコンポーネントに定義されている getDocumentDate() というメソッドが最も時間のかかったメソッドであったことが示されています。このメソッドはトータルで 1,303.6 ミリ秒の時間を消費しました。呼ばれた回数は 92,888 回でした。このメソッドの一回あたりの平均実行時間は 14.0 マイクロ秒でした。

図中、青い枠で囲まれている部分が、件のメソッドがどこから呼ばれたのかを示す情報です。一番上の行は、セミナーというテンプレートの getDocumetnDate() というメソッドから 、チャネル main 用のコンテンツの生成のために 29,711回呼び出され、その呼び出しで 486.0 ミリ秒の時間を消費したことを示しています。続く2行めは、同じくセミナーというテンプレートの getDocumetnDate() というメソッドから 、チャネル mobile 用のコンテンツの生成のために 28,863回呼び出され、その呼び出しで 384.5 ミリ秒の時間を消費したことを示しています。

このケースでは、2番めに時間を消費していたメソッドは、WebRelease の組み込み関数 replaceAll() でした。replaceAll() 関数はトータルで 1,109.4 ミリ秒を消費しました。呼ばれた回数は 54,201 回でした。

青枠内の「呼出回数」欄の値の合計はオレンジ枠内の「呼出回数」の値になります。また、青枠内の「消費時間」欄の値の合計はオレンジ枠内の「消費時間」の値にほぼ一致します。

プロファイル結果の各欄に表示される値は下記のとおりです。

ランク

対象が、何番目に時間を消費したかを示すランキングです。この欄に値のある行は、呼び出された対象 (以下 callee) に関する情報を表しています。callee はメソッド、展開、WebRelease の組込み関数、オブジェクトのメソッドのいずれかの場合があります。この欄が空欄の行は、直前にある callee を呼び出した側 (以下 caller) の情報を表しています。

展開・メソッド・関数

この欄には callee の情報が表示されます。表示形式は callee により異なります。

  • callee がメソッドの場合、メソッドの名前が表示されます。
  • callee がテンプレートの展開の場合は「展開」と表示されます。
  • callee が WebRelease の組み込み関数の場合、その関数名が表示されます。
  • callee がオブジェクトのメソッドの場合、オブジェクト名.メソッド名() という表示になります。例えば Folder.pageWithFileNameRex() という形式で表示されます。

この欄は callee 行 (上図オレンジ枠部分) 以外では空欄になります。

呼出元メソッド・展開

callee を呼び出した caller の情報が表示されます。caller は、メソッドまたは展開の場合があります。caller がメソッドの場合はそのメソッド名が表示されます。caller が展開の場合は「展開」と表示されます。この欄は caller 行 (上図青枠部分) 以外では空欄になります。

テンプレート・コンポーネント

callee 行では callee が定義されているテンプレートまたはコンポーネントの名前が表示されます。callee がオブジェクトのメソッドまたは WebRelease の組み込み関数の場合は System と表示されます。

caller 行では caller が定義されているテンプレートまたはコンポーネントの名前が表示されます。caller が展開の場合は「展開」と表示されます。

チャネル

どのチャネル向けのコンテンツを生成しているときに callee を呼び出したのかを示すチャネル名が表示されます。この欄は caller 行以外では空欄になります。

消費時間(m sec)

callee 行では callee が消費した時間が表示されます。この時間は、その callee が自分で消費した時間だけが含まれています。callee が他のメソッドや関数を呼び出していても、それらの呼び出し先で消費された時間はこの欄の時間には含まれていません。

caller 行では callee の消費時間の caller 別の内訳が表示されます。

この欄の値には FTP によるファイル転送にかかった時間は含まれていません。値は、実際にそのメソッドの実行にかかった時間です。この時間は CPU 時間ではなく、メソッドに入ってから出てくるまでの実時間です。

この欄の時間の解釈には注意が必要です。例えば 8 コアの CPU を使って FTP を実行した結果、1 分で FTP が終わったとします。この場合 CPU はトータルで 8 分間の処理を行なったことになります。換言すると、同じ FTP の処理を 1 コアの CPU で行なった場合 8 分の時間がかかることになるということです。この欄の時間は、実際に FTP が何個のコアを使って実行されたかにかかわらず「もし 1 個のコアで実行したならば」という条件での値が表示されています。すべての callee 行の、この欄の値の合計は、FTP 所要時間のおおよそコア数倍の時間になります。

なお、プロファイル画面の上部に表示されている「コア数」という欄の値が、そのプロファイルを計測した時に実行された FTP が実際に使用されていたコアの数です。

この欄の値は、多少誤差がありますので、計測ごとに多少ばらつきのある値になります。時間の値は大体の目安として捉えてください。

呼出回数

callee 行では、callee が呼び出された回数が表示されます。caller 行ではその caller が callee を呼び出した回数が表示されます。

消費時間/回(μ sec)

参考値として callee の1回あたりの平均の消費時間が表示されます。

テンプレート・プロファイラは、あるメソッドが実際にどこから呼び出されているのかを調べるためにも使うことができますが、得られる結果は、プロファイルを取得した時点のコンテンツデータに依存していることに注意してください。

あるプロファイル結果で、あるメソッド、ここでは例えば a() というメソッドが、まったく呼び出されなかったとしても、それが、メソッド a() の呼び出し元がどこにも存在しないということを示しているわけではありません。

その時のコンテンツデータで、たまたま、メソッド a() の呼び出しが起こらなかっただけかもしれず、他のコンテンツデータでは、メソッド a() が呼び出される可能性が残されています。

メソッド a() をメンテナンスする場合の影響範囲を考える上で、テンプレート・プロファイラの結果は参考にはなりますが、何らかの保証を与える物ではないことにご注意ください。

プロファイル結果のダウンロード

プロファイル結果は,、画面右上の「ダウンロード」ボタンをクリックすることでダウンロード可能です。テンプレートのチューニングを行う場合には、あるテンプレートでのプロファイル結果がどうだったのか、ダウンロードして保管し、後で比較できるようにしておくと良いでしょう。

チューニングの考え方

テンプレートのチューニングを行う場合は、処理時間の長いメソッドからチューニングするのが良いでしょう。呼び出し回数の少ない、処理時間も短いメソッドを高速化しても成果が得られません。可能な限り、プロファイル結果のランキング上位のメソッドから着手すると良いでしょう。

前

次

© 2000 - 2024  FrameWorks Software, Inc.