2015年7月30日木曜日

Apache JMeter

ApacheJMeterとはWebサイトの性能を測定するベンチマークツールです。

JMeterからテスト対象のWebサイトに大量のリクエストを投げ、そのレスポンスタイムを測定することで性能を測定します。


■ダウンロード
Apacheプロジェクトがフリーツールとして公開しており、以下のサイトからダウンロードできます。

http://jmeter.apache.org/download_jmeter.cgi


Windows環境で動かすには、上記URLのBinaries > apache-jmeter-2.13.zipを
任意のフォルダにダウンロードし、解凍することで使用できます。


■起動
前提PPとしてJavaランタイムが必要です。
JMeterを起動するには解凍先フォルダのbin/jmeter.batをクリックします。


■設定

画面左のツリーメニュー、テスト計画にこれから実行するテストの要素を追加します。
最低限必要な追加項目は

 1.スレッドグループ
 2.HTTPリクエスト初期値設定
 3.HTTPリクエスト
 4.統計レポート

の4つ。


1.スレッドグループ
 テスト実行するクライアントの設定(スレッド数、ループ回数、スレッド実行間隔)
 テスト計画を右クリック、追加 > Threads(Users) > スレッドグループ


2.HTTPリクエスト初期値設定
 Webサイトのアドレス(ホスト名)を設定
 テスト計画を右クリック、追加 > 認定エレメント > HTTPリクエスト初期値設定




3.HTTPリクエスト
 リクエストするURLを設定
 テスト計画を右クリック、追加 > リスナー > 統計レポート
 


4.統計レポート
 負荷テストの結果を確認するレポートを設定(追加して終わり)
テスト計画を右クリック、追加 > リスナー > 統計レポート



■実行
ツールバーの緑の矢印(再生ボタン)をクリックして実行すると、先ほど追加した統計レポートの一覧にレスポンスタイム、エラー率、スループット等が表示されます。



■所感
 単にWebサイトにいくつものリクエストを投げるだけならプログラム書いたほうが速いけど、
 複雑なリクエストの条件があったり、詳細な結果レポートを見たい場合はJMeterがいいでしょう。

Windows Azureのアカウントと役割

これまで1つのアカウントを3、4人で使いまわしていたが
流石に人数が多くなると、何されるかわからないので
ちゃんとアカウント管理します。

以下の、説明ページを超訳
http://blogs.msdn.com/b/dsazurejp/archive/2013/10/03/azure.aspx


WindowsAzureには3つの役割を持った管理者がいる
 •アカウント管理者
 •サービス管理者
 •共同管理者

イメージ
-----------------------------
アカウント管理者

   サービス管理者
    共同管理者
    共同管理者

   サービス管理者
    共同管理者
    共同管理者
    共同管理者

-----------------------------


アカウント管理者 お金管理する人
 Azureの支払いや契約を担当する管理者
 アカウントポータルへアクセスできる
 各種サービスを利用する権限はない
 アカウント管理者の変更はマイクロソフトへ問い合わせる必要あり。

サービス管理者 サービス管理する人
 Azureの各種サービスを利用するための管理者
 AzureのActiveDirectoryから追加

共同管理者 作業者
 サービス管理者と同様に各種サービスを利用する


管理者の変更
詳細は以下のページ参照のこと


アカウント管理者の変更は、MS窓口へ問合せる。
サービス管理者、共同管理者はWebサイトから変更可能。

 

2015年5月26日火曜日

ASP.NET 5.0の概要

VisualStudio2015、ASP.NET5.0の正規版のリリースが間近に迫り
技術的な動向が気になるところ、今日はお世話になっているMicrosoft Academy
から「ASP.NET 5 概要」の動画をもとにまとめてみました。

-----------------------------------
タイトル:「ASP.NET 5.0の概要」
スピーカー:エバンジェリスト 中村
時間:20分
リンク:http://www.microsoftvirtualacademy.com/training-courses/aspnet5
-----------------------------------

ASP.NET5の概要
・モジュラー設計(NuGet)
・オープンソース(.NET Foundation)
・コンパイル不要の開発と配置(Roslyn)
・Windows,Mac,Linuxでの実行(MonoProject)
・完全なSydeBySide実行
・依存性の注入(Dependency Injection)
・高速化、低メモリ使用量と高スループット
・クラウドへ最適化(設定、デバッグ、ロギング、キャッシュ)
・クロスプラットフォーム


これらを要約すると
新しくリリースされるASP.NET5はGitHubでオープン化され、開発者ならだれでもソースを入手可能。
ASP.NET 5はWindows以外のLinuxやMac上でも動作可能なASP.NET CORE を提供する。
ライブラリがモジュール化かつ軽量化され、クロスプラットフォームやクラウド環境への展開が楽になる。

特に強調したいのが、コマンドラインからのアプリ実行
ASP.NET5 KRuntime 通常 KRE
あたらしい流れクロスプラットフォームを考慮。
VisualStudioがなくとも、ソース作成、コンパイル配置が可能である。

KREで利用する代表的なコマンドは3つ
1. KRE  ランタイムの管理
2. KREバージョン管理、KVM ランタイムの部分のバージョン管理
3. KPakeage Manager (KPM) アプリケーションの部分のバージョン管理

こんなコマンド叩いてWebアプリを実行する。
 kvm list
 kvm use default
 kpm restore ペッケージ取得
 k web ローカルホストで動く

それと、ASP.NET5プロジェクトのフォーマットがXMLからjsonフォーマットに変わった。

VisualStudio2015 の正規版待ち遠しいです。

2015年5月23日土曜日

VisualStudio2015 クロスプラットフォーム

今年発売予定のVisualStudio2015。
クロスプラットフォームを大々的にアピールしているので、
どんなもんなのかMicrosoftAcademyを覗いてみた。

デスクトップアプリやWebサイトの機能はVisualStudio2013と変わり映えしないのが率直な感想。
反面、クラスプラットフォーム開発用のXamarinやPhoneGapを標準搭載。そしてなんといってもVisualStudioでAndroidのエミュレーターを提供していることからもわかるように、スマホやタブレットをターゲットにした開発に注力しているように感じられた。

めったなことじゃないとお目にかからないWindowsStoreもWindowsPhoneよりも、みんな使っているAndroidやiOSへシフトするのが自然な流れであり、マイクロソフトでさえも認めざるを得ない事実なんだろうな。


確認した動画は「クロスプラットフォーム開発 VisualStudio」


ポイントを簡単にまとめると、

クロスプラットフォームの開発方法は3つ、違いは開発言語
 1.Cordova(PhoneGap)  HTML/JS
 2.Xamarin      C#
 3.CLang          C++
ほかにもゲームライブラリ Unityもあるが、説明にはなかった。
どれもAndroidはVisualStudioさえあれば開発できるが、iOSはMacとXCodeの開発環境が必要。


1.Cordove(PhoneGap)

 WebView上で動くアプリを作る。
 javaScriptで android,iOS,WidnowsPhoneのアプリを作ることができる。
 共通的なプログラムはそれぞれのネイティブアプリの上にあるWebView上で動く。
 iOSのビルド、デバッグ、エミュレーターはVisualStudioは用意してないのでマックが必要。


2.Xamarin(ザマリン)

 各プラットフォームのネイティブアプリを作る。
 共有化できるのは PCL (Portable Class Liblary)を使ったBizLogicのみで、UIについては各プラットフォームで作る必要がある。

 ・ Xamarin.Android,
 ・ Xamarin.iOS,
 ・ WindowsPhone
 ・ Silverlight5
 ・ .NET Framework4.5
 ・ Store App

 Xamarin.FormsでUIコードも共有化
 UIも共有化できる仕組みがそろいつつある。
 前提としてMVVMモデル、ロジックとUIの結びつきが弱い、独立したモデルを採用する必要あり。


3.CLang C++

 C++からオープンソースのコンパイラCLang を使ってAndroidのネイティブアプリを作る。
  iOSのネイティブはない。


ここまでが動画の内容。


VisualStudio2013でクロスプラットフォーム開発するには
VisualStudio2013 Update4 を適用し
Multi-deviceHybrid Apps というアドインを追加するとPhoneGapの開発ができる。


まとめ

Android,iOSにアプリを提供する上で、運用・保守フェーズに入ってからのプログラム保守費用と用とアプリのバージョンアップに伴い発生する配布コストが、クロスプラットフォームの環境で改善できるのは魅力的。

気になるのはVisualStudioのライセンス料かな。

AndroidStudioやXCodeも相当使いやすいから、単にネイティブアプリ作るなら、VisualStudioを選ぶ人はなかなかいないんじゃないかな。