タグ

ブックマーク / atmarkit.itmedia.co.jp (151)

  • Tomcatをツールで運用し、設定の基礎を知る

    server.xmlを書いてTomcatを設定してみよう それでは、実際に紹介したタグを設定してserver.xmlを書いていきましょう。 コンテキスト全体に関する属性を設定する<Server>タグ server.xmlを書いていくに当たり、まずはこれらの中でトップレベルに来る要素の<Server>を書く必要があります。<Serverタグ>では、このコンテキスト全体に関する属性を設定できます。 要素 内容 className

    Tomcatをツールで運用し、設定の基礎を知る
  • Webアプリの問題点を「見える化」する7つ道具

    Webアプリの問題点を「見える化」する7つ道具:現場から学ぶWebアプリ開発のトラブルハック(1)(3/3 ページ) その6:プロファイラ プロファイラとは、実行中のプログラムの動作を分析するツールである。メソッドの処理時間や呼び出し関係を統計情報として提供するメソッドプロファイラと、メソッドから生成されたオブジェクトの数やサイズ、世代情報を提供するオブジェクトプロファイラの2つが存在する。 ■使いどころ メソッドプロファイラは、HWリソースモニタリングツールでAPサーバのCPUがボトルネックになっているときに有効である。また、スレッドダンプ解析で問題が発見できなかった場合に使用する。 一方、オブジェクトプロファイラは、OutOfMemoryエラーが発生しているときや、GCログ分析でヒープ使用量が右肩上がりになっているときに、巨大なオブジェクトや無駄なオブジェクト生成をしているコードを発見

    Webアプリの問題点を「見える化」する7つ道具
  • 【トラブル大捜査線】失われたコネクションを追え!

    【トラブル大捜査線】失われたコネクションを追え!:現場から学ぶWebアプリ開発のトラブルハック(7)(3/3 ページ) 【最終話】それが、トラブルシューティング屋の務め クローズ漏れの個所も大体の見当が付いたので、アプリケーション開発チームに確認・修正を依頼した。 アプリケーションが直るまでの間、removeAbandonedを付けたままで負荷試験を継続することにした。目的はremoveAbandonedのオーバヘッドを測定することである。logAbandonedを指定しなければstackTraceは生成されない。そのため、ある程度の性能は出るように思われた。 ■removeAbandonedの同期化 しかし、実際に測定してみたところ、思ったように性能は出なかった。CPUがほとんど使い切れなかったのだ。 ここまできたら、ついでに解析してしまうのが、トラブルシューティング屋の務めだろう。負荷

    【トラブル大捜査線】失われたコネクションを追え!
    gologo13
    gologo13 2017/03/24
    DBCP の設定についてわかりやすい / “removeAbandonedは本番環境で使用することは避けた方がよいだろう。”
  • 【トラブル大捜査線】失われたコネクションを追え!

    【第3話】Tomcatの持つコネクションプール「DBCP」 ■netstatコマンドによる確認 あるプログラムがソケットを使用してほかのプログラムと通信している場合、netstatコマンドを使用してソケットの状態を確認するといろいろなことが分かる。 早速、netstatでDBコネクションの状態を見てみると、確立済み(ESTABLISHED)状態のコネクションが、DBCPに設定している最大コネクション数と同じ数だけ存在した。Tomcatの設定を確認してみると、DBCPの最大コネクション数はTomcatの最大スレッド数と同じ値に設定してあった。つまり、スレッドが同時に複数のコネクションを使用しない限りコネクションが不足することはない。 ■リーダー「同時に1つのコネクションしか使わないはず」 アプリケーション開発のリーダーに確認したところ、「アプリケーションは同時に1つのコネクションしか使わない

    【トラブル大捜査線】失われたコネクションを追え!
    gologo13
    gologo13 2017/03/24
    connection pool, コネクションプール
  • ゼロから理解する「Oracle RAC」

    連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、Oracle Databaseのクラスタリング機能である「Oracle Real Application Clusters(Oracle RAC)」の基礎と仕組みを解説します。【更新版】

    ゼロから理解する「Oracle RAC」
  • OpenAMのOpenID Connectへの対応

    連載目次 OpenAMが提供するフェデレーションサービス 第4回はOpenAMのOpenID Connectへの対応について紹介します。その前に、まずはOpenAMがこれまでに対応してきたフェデレーション(注1)プロトコルについて簡単に解説し、今後主流になると思われるOpenID Connectの概要とOpenAMの対応内容について説明します。 注1 フェデレーション(Federation):異なるサービス間の連携をすること。一般的には、SAMLなどの標準的なプロトコルを使用して複数のクラウドサービスへSSOできるようにすることを意味します。 OpenAMが対応するフェデレーションプロトコル OpenAMは、あらゆるサービスへのSSOを実現できるように、これまで多くのフェデレーションプロトコルに対応してきました。SAML 1.0の実装から始まり、WS-Federation 1.1やID-F

    OpenAMのOpenID Connectへの対応
  • RFCとなった「OAuth 2.0」――その要点は?

    RFCとなった「OAuth 2.0」――その要点は?:デジタル・アイデンティティ技術最新動向(2)(1/2 ページ) いまWebの世界では、さまざまなWebサービスが提供するプラットフォームと、サー ドパーティが提供するアプリケーションがAPIを中心に結び付き、一種の「APIエコノミー」を形成しています。この連載では、そこで重要な役割を果たす「デジタル・アイデンティティ」について理解を深めていきます。 再び、デジタル・アイデンティティの世界へようこそ 前回「『OAuth』の基動作を知る」ではOAuthの仕様がどういうものかについて説明しました。今回は引き続き、 OAuth 1.0とOAuth 2.0の違い OAuth 2.0をセキュアに使うために知っておくべきこと について述べていきます。 OAuth 1.0とOAuth 2.0の違い クライアントタイプの定義 OAuth 2.0では、O

    RFCとなった「OAuth 2.0」――その要点は?
  • 私たちもできた! Oracle Data Visualizationによる“セルフサービスBI”で、初めてのキャンペーン分析&フォーキャスト分析

    私たちもできた! Oracle Data Visualizationによる“セルフサービスBI”で、初めてのキャンペーン分析&フォーキャスト分析:とみえ&なつきが挑む「初めてのデータビジュアライゼーション」前編(1/5 ページ) 昨今、多くの企業が関心を寄せる“セルフサービスBI”。オラクルは、それを実現する環境として「Oracle Data Visualizationシリーズ」を提供しています。これにより、現場のデータ活用はどのように変わるのか? 上司から突然のメチャ振り指令を受けた「とみえ&なつき」の奮闘を通して、その一例を紹介します。[ビッグデータ][Big Data]

    私たちもできた! Oracle Data Visualizationによる“セルフサービスBI”で、初めてのキャンペーン分析&フォーキャスト分析
  • Java EE 8/9はマイクロサービス、リアクティブに向かう――MVCは生き残れるのか

    Java EE 8/9はマイクロサービス、リアクティブに向かう――MVCは生き残れるのか:特集:IoT、FinTech時代、「求められるエンジニア」になるためには(2)(1/2 ページ) デジタルトランスフォーメーション時代に生き残れるエンジニアに求められるものとは何か。長らく、日Javaコミュニティで存在感を示し続け、現在は日マイクロソフトでJavaエバンジェリストとして活動する寺田佳央氏に聞いた。 デジタルトランスフォーメーション時代に生き残れるエンジニアに求められるものとは何か。長らく、日Javaコミュニティで存在感を示し続け、現在は日マイクロソフトでJavaエバンジェリストとして活動する寺田佳央氏は、「変革」をキーワードに挙げる。 「今、ITの世界ではクラウドやソーシャル、ビッグデータ、AIと、数々のメガトレンドが同時に起こっています。それに呼応するように、企業もIoT

    Java EE 8/9はマイクロサービス、リアクティブに向かう――MVCは生き残れるのか
    gologo13
    gologo13 2016/11/01
  • NTTドコモの6600万顧客のリアルタイムビリング基盤「MoBills」を支えるデータベース基盤とは

    NTTドコモの6600万顧客のリアルタイムビリング基盤「MoBills」を支えるデータベース基盤とは:”ノンチューニングで高速”をどう実現したか(1/3 ページ) 「Oracle Exadataで垂直統合型システムのイメージが変わった」──NTTドコモの基幹システムの1つ「MoBills」のインフラ刷新を推進したメンバーの1人はそう語る。約6600万顧客への課金/決済を担う同システムのデータベース基盤に、同社はなぜOracle Exadataを選んだのか?[プライベートクラウド/データベース統合][パフォーマンス改善][Engineered System][Oracle Enterprise Manager] 6600万顧客への課金/決済業務を支えるリアルタイムビリングシステム 苛烈な競争が続く携帯電話業界において、約6600万人の契約者を擁するNTTドコモは現在、キャッシュバックなど一過

    NTTドコモの6600万顧客のリアルタイムビリング基盤「MoBills」を支えるデータベース基盤とは
  • Oracle Exadataの導入価値を最大化するNTTデータの取り組み

    Oracle Exadataの導入価値を最大化するNTTデータの取り組み:スペシャリストが語る、大規模導入プロジェクトの裏側(1/4 ページ) 「Oracle Exadata」の高い性能や可用性といった利点は、システムの要件に応じた的確な作り込みによって最大化される。導入を手掛けるシステムインテグレーターらは、どのような工夫によってそれを実現しているのか。NTTデータが手掛けた大規模プロジェクトのケースを紹介しよう。[プライベートクラウド/データベース統合][Engineered System] 顧客の要件に応じた作り込みが、Oracle Exadataの導入価値を最大化する 大規模かつミッションクリティカルなデータベース基盤を中心に、国内外のさまざまな領域で活用が進むOracle Exadata。その導入効果を最大化するには、ビジネスやシステムに固有の要件に応じた的確な設計/構築作業が不

    Oracle Exadataの導入価値を最大化するNTTデータの取り組み
  • @IT [FYI] Web負荷テストの押さえるべきポイントとは

    いまやビジネスにとってWebサイトは重要なツールの1つであることはいうまでもない。しかし、そのWebサイトが不安定な状態で、顧客が不快な思いをしたり、使えない状況になっていたりすれば、かえってビジネスにはマイナスだ。今回は、Webサイトを正しく構築・運用する上で、公開前に実施してほしいチェックの1つである“負荷テスト”について焦点を当ててみよう。 Webがアプリケーション開発の基盤として利用されるようになって以来、われわれは社内システムあるいはインターネット上のサービスとしてそれらを利用している。 しかし、サーバやネットワーク機器のパフォーマンスが年々向上しているにもかかわらず、エンドユーザーが感じるパフォーマンスが、さほど向上していないように感じている人は多いのではないだろうか。それどころかパフォーマンスの問題から、エラーメッセージが出ていないにもかかわらず空白ページが現れたり、コンテン

  • @IT:JMeterによるWebサーバ性能評価の勘所(1/3)

    サーバのボトルネックを見極めるには、適切な性能評価が必要。ApacheBenchとJMeterによる、効果的な性能評価のポイントを紹介する。(編集部) Apacheはそのままでも十分なパフォーマンスを発揮しますが、設定値や構成の見直しを行うことで、さらに高い性能を得ることができます。しかし、適切な値を設定しなければ、サーバの潜在能力や許容量をオーバーし、かえってパフォーマンス低下を招く可能性もあります。経験やノウハウの蓄積が少ない状態では、チェック&トライの繰り返しが必要です。 今回は、チェックのための道具であるベンチマークソフトの使い方とその結果の見方を紹介します。 Webサーバの性能評価とは 性能評価の基礎 性能評価の方法は、 ホワイトボックステスト サーバやネットワーク構成など、評価対象となるWebシステムの構造を理解したうえで、ボトルネックの当たりを付けて試験を行う ブラックボック

    @IT:JMeterによるWebサーバ性能評価の勘所(1/3)
    gologo13
    gologo13 2016/08/18
    手引として良さそう
  • システム間連携のアーキテクチャ、4つの基本パターンと正しい適用のポイント

    システム間連携のアーキテクチャ、4つの基パターンと正しい適用のポイント:徹底解説! ITアーキテクトとは何か?(4)(1/2 ページ) ITアーキテクトの役割を、具体的かつ分かりやすく解説する連載。今回は一連の業務処理遂行のために、複数のシステムを連携させ機能を組み合わせていく「システム間連携」の処理方式を徹底解説する。 あらゆる業務プロセスに最適なシステム間連携を設計するためには? 前回は大量データをスムーズに処理するためのバッチ処理のアーキテクチャ設計を解説しました。今回はシステム間連携のアーキテクチャを紹介します。 ビジネス上の要求を達成するために、複数のシステムを連携させ機能を組み合わせていくことで業務処理を遂行していくことは少なくありません。このような「システム間連携」の処理方式はさまざまですが、ここでは次の4つの基パターンに分類します。 リソース共有(データベース共有、デ

    システム間連携のアーキテクチャ、4つの基本パターンと正しい適用のポイント
    gologo13
    gologo13 2016/07/14
    非同期処理の結果を受け取るには、ポーリング、コールバック方式がある。
  • Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編)

    Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編):徹底解説! ITアーキテクトとは何か?(2)(2/4 ページ) ポイント4:排他制御 データベースの話になったので、ここで排他制御にも触れておきます。排他制御が必要なことは、今さら言うまでもないでしょう。HTTPは基的にはステートレスなので、レコードロックを持ち続けることは不可能です。もし仮にそれが可能だったとしても(実際は有り得ませんが)、同時並行性から考えて、ユーザー操作をまたがった長時間のロックは好ましくありません。 そのためには、「一度読み込んだデータの更新前に、他のユーザーからの変更処理が行われていないか?」をチェックする機構が必要になります。「楽観的ロック」の機構です(以下の参考リンク参照)。これを実現するためには、対象のテーブルに対して更新チェックをするためのカラムが必要になります。一般に、このような

    Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編)
    gologo13
    gologo13 2016/07/13
    Db セッション、メモリセッションについて記述あり
  • Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編)

    Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編):徹底解説! ITアーキテクトとは何か?(2)(1/4 ページ) 連載目次 ユーザーの要求をアーキテクチャに落とし込む方法とは? 前回は、アーキテクトの役割とタスクについて解説しました。今回からは、アーキテクチャ設計の話に入っていきたいと思います。アーキテクチャ設計の最初の段階で重要なのは、エンドユーザー/ユーザー企業の要求を見極めて、それをアーキテクチャに落とし込むことです。システムを設計する上で、ベストオブブリードでシステムを構成できる現在のようなオープンな環境の中では、さまざまな選択肢が存在します。その選択肢から選ぶ際に優先されるのは、「ユーザー要求」だということです。 例えば、顧客が「リアルタイムな情報反映と、その活用」を望んでいるにもかかわらず、バッチ処理中心型のシステムを設計・構築することは、エンドユーザー

    Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編)
  • 悲観もあれば楽観もある「トランザクション」の常識

    悲観もあれば楽観もある「トランザクション」の常識:企業システムの常識をJBossで身につける(8)(1/4 ページ) 企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! ありえない! 企業システムでの不完全なデータ 企業活動の日々の業務で発生するさまざまなデータ。それらを保存・利用するために、企業はITへの投資を行い、システムを構築しています。そうしたシステムにおいて、データを保存する際に防がなければならないのが不完全な状態での登録や更新です。 また、昨今のシステムでは保存先が複数存在するケースが多々あり、各保存先間での整合性を保証する必要があります。そこでシステム開発の際に重要となるのが、今

    悲観もあれば楽観もある「トランザクション」の常識
    gologo13
    gologo13 2016/07/09
    楽観ロック、ひかんろっく、分散トランザクション
  • スレッドダンプの森で覚えた死のロックへの違和感

    スレッドダンプの森で覚えた死のロックへの違和感:現場から学ぶWebアプリ開発のトラブルハック(11)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) スレッドダンプはトラブルハックに非常に有効 Javaを用いたシステムで発生したトラブルを解析する際、スレッドダンプは非常に有効な手掛かりを指し示してくれる。 例えば、連載第3回の「【実録ドキュメント】そのログ当に必要ですか?」ではログ出力がボトルネックとなったトラブルを、解析ツールを用いたスレッドダンプ解析により発見している。また、連載第10回の「ThreadとHashMapに潜む無限回廊は実に面白い?」では、レースコンディション(競合

    スレッドダンプの森で覚えた死のロックへの違和感
  • ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT

    ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)

    ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT
    gologo13
    gologo13 2016/06/26
    スレッドダンプ kill -3 <pid> / ps のスレッド番号と付き合わせることで暴走しているスレッドがどの処理をしているか解明できる
  • 開発者が知っておくべきJavaと仮想マシンの歴史

    Javaの黎明(れいめい)期、多くの人々にJavaが知られ、広まった理由の1つは、WebブラウザにJava VMが組み込まれたことにあるでしょう。その当時のWebブラウザ開発のエキサイティングな様子は、雑誌『Wired』の古い記事「The Java Saga」で読むことができます。 Webブラウザ上で動作するJavaアプレットの勢いも借りて、各OSベンダが米サン・マイクロシステムズからライセンス提供を受け、各OSプラットフォーム用のJava環境が続々とリリースされます。 その一方、米マイクロソフトのWebブラウザ「Internet Explorer」(以下、IE)にJava VMが組み込まれたことは、歓迎とともに混乱を招きました。米マイクロソフトが提供したWindows 95/NT用のJava VM((MSJVM))が持つ「J/Direct」機能は高性能ながら、Win32 APIを直接呼び

    開発者が知っておくべきJavaと仮想マシンの歴史