Mercurial > hg > Papers > 2014 > nobuyasu-master
comparison paper/chapter4.tex @ 39:63eca978482f
Writed description of experiment
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 29 Jan 2014 02:53:18 +0900 |
parents | 92bc4faa9a37 |
children | 8ea1a684bfbe |
comparison
equal
deleted
inserted
replaced
38:559589aec976 | 39:63eca978482f |
---|---|
1 \chapter{分散木構造データーベースJungleの評価} | 1 \chapter{分散木構造データーベース Jungle の評価} |
2 前章では Jungle における分散データベースの詳細な実装について述べた. | |
3 本章では実装を行った Jungle に対して Cassandra との性能比較を行い評価をする. | |
4 性能比較の為に簡易な掲示板プログラムを Jungle と Cassandra それぞれに作成した. | |
5 複数のノードに繋がっている状態においても性能を測りたいため, 学科提供する | |
6 VMWare の並列環境を利用する. また, 我々の研究室が利用しているブレードサーバ | |
7 上で動いている KVM もノードとして利用する. | |
2 | 8 |
3 \section{実験方法} | 9 \section{実験方法} |
10 実験は同じ機能を提供している簡易掲示板プログラムを Jungle と Cassandra それぞれで | |
11 動かし, HTTPリクエストにより負荷をかけて行う. | |
12 レスポンスが帰ってくるまでの時間をはかる. | |
4 | 13 |
5 \section{実験環境} | 14 また, 実験は2つ行う. |
15 まず行う実験は, 複数のノードで起動してるうちの1つのノードに負荷をかける方法である. | |
16 これはノードの数に比例してレスポンスが遅くなっていないか確かめるためである. | |
17 \begin{figure}[htpb] | |
18 \begin{center} | |
19 \includegraphics[scale=0.70]{figures/jungle_experiment.pdf} | |
20 \caption{複数起動中のJungle の1ノードへの負荷} | |
21 \label{fig:jungle_exp} | |
22 \end{center} | |
23 \end{figure} | |
24 | |
25 \begin{figure}[htpb] | |
26 \begin{center} | |
27 \includegraphics[scale=0.70]{figures/cas_experiment.pdf} | |
28 \caption{複数起動中のCassandra の1ノードへの負荷} | |
29 \label{fig:cas_exp} | |
30 \end{center} | |
31 \end{figure} | |
32 | |
33 次に行う実験は複数のノードに対し複数のクライアントから負荷をかける方法である. | |
34 それぞれ大量のHTTPリクエストをだし, 全てのリクエストの処理にかかる時間を測定する. | |
35 | |
36 クライアントの数に比例してノードを増やすことでレスポンスを維持できるか | |
37 スケーラビリティを調べるためである. | |
38 \begin{figure}[htpb] | |
39 \begin{center} | |
40 \includegraphics[scale=0.70]{figures/clients_request_servers.pdf} | |
41 \caption{複数のクライアントから複数のノードへの負荷} | |
42 \label{fig:clients_servers} | |
43 \end{center} | |
44 \end{figure} | |
45 | |
46 \subsection{weighttp} | |
47 最初の実験で1つのノードに負荷をかけるプログラムはウェブサーバの測定ツールであるweighttpを使用する. | |
48 weighttpは総リクエスト数, 同時接続数, ネイティブスレッド数をオプションとして指定することができる. | |
49 | |
50 | |
51 \subsection{掲示板プログラム} | |
52 今回使用する掲示板プログラムは組み込み用ウェブサーバであるJettyをフロントエンドとして利用し, バックエンド | |
53 に Jungle と Cassandra を利用している. | |
54 | |
55 | |
56 \subsection{実験環境} | |
57 | |
58 \subsubsection{ノードを実行させるサーバの仕様} | |
59 使用するVMWareとKVMのクラスタの使用を以下に示す. | |
60 クラスタは仕様を表\ref{tab:cluster_spec_vmware}と表\ref{tab:cluster_spec_kvm}に示す. | |
61 | |
62 \begin{table}[!htbp] | |
63 \caption{ノードを実行させるVMWareクラスタの仕様} | |
64 \label{tab:cluster_spec_vmware} | |
65 \begin{center} | |
66 \begin{tabular}{|c||c|} \hline | |
67 名前 & 概要 \\ \hline \hline | |
68 CPU & Intel(R) Xeon(R) CPU X5650@2.67GHz \\ \hline | |
69 Memory & 8GB \\ \hline | |
70 OS & CentOS 5.8 \\ \hline | |
71 HyperVisor & VMWare ESXi \\ \hline | |
72 \end{tabular} | |
73 \end{center} | |
74 \end{table} | |
75 | |
76 \begin{table}[!htbp] | |
77 \caption{ノードを実行させるKVMクラスタの仕様} | |
78 \label{tab:cluster_spec_kvm} | |
79 \begin{center} | |
80 \begin{tabular}{|c||c|} \hline | |
81 名前 & 概要 \\ \hline \hline | |
82 CPU & Intel(R) Xeon(R) CPU X5650@2.67GHz \\ \hline | |
83 Memory & 8GB \\ \hline | |
84 OS & CentOS 5.8 \\ \hline | |
85 HyperVisor & KVM \\ \hline | |
86 \end{tabular} | |
87 \end{center} | |
88 \end{table} | |
89 | |
90 \subsubsection{1台に負荷をかけるブレードサーバの仕様} | |
91 最初の実験で負荷をかける側としてブレードサーバを使用する. | |
92 ブレードサーバの仕様を表\ref{tab:server_spec_1}に示す | |
93 | |
94 \begin{table}[!htbp] | |
95 \caption{} | |
96 \label{tab:server_spec_1} | |
97 \begin{center} | |
98 \begin{tabular}{|c||c|} \hline | |
99 名前 & 概要 \\ \hline \hline | |
100 CPU & Intel(R) Xeon(R) CPU X5650@2.67GHz \\ \hline | |
101 物理コア数 & 12 \\ \hline | |
102 論理コア数 & 24 \\ \hline | |
103 Memory & 132GB \\ \hline | |
104 OS & Fedora 16 \\ \hline | |
105 JavaVM & Java(TM) SE Runtime Environment (build 1.6.0\_39-b04) \\ \hline | |
106 \end{tabular} | |
107 \end{center} | |
108 \end{table} | |
109 | |
110 | |
111 | |
112 \subsubsection{サーバの環境} | |
113 HTTPによりノードに負荷を掛ける場合気をつけることがある. | |
114 それはサーバの設定によりコネクション数やファイル記述子の制限である. | |
115 この2つの値はデフォルトでは小さなものとなっており, そのままではカーネル | |
116 の設定がネックとなったベンチマーク結果がでる可能性がある. | |
117 そこで次のようにコマンドを実行することでコネクション数の制限を増やすことができる. | |
118 \begin{lstlisting}[frame=lrbt,label=src:maxconn_up,caption=コネクション数を増やす,numbers=left] | |
119 % sudo sysctl -w net.core.somaxconn=10000 | |
120 \end{lstlisting} | |
121 ファイル記述子の制限を増やす場合は次のコマンドを実行する | |
122 \begin{lstlisting}[frame=lrbt,label=src:max_up_filedisc,caption=ファイル記述子の制限を増やす,numbers=left] | |
123 % ulimit -n 10000 | |
124 \end{lstlisting} | |
125 | |
126 | |
6 | 127 |
7 | 128 |
8 \section{実験結果} | 129 \section{実験結果} |
9 | 130 |
10 \begin{figure}[htpb] | 131 \begin{figure}[htpb] |