SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
![とあるアプリの開発運用(トラブルシュート)](https://cdn-ak-scissors.b.st-hatena.com/image/square/9a8f9b090746af0fc2cccb25025470a63fb6b557/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Frailsdevcon2010-101121120136-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
今更感があるかもしれませんが紹介。 stressコマンドを使うと、CPUやメモリ、ディスクに対して意図的に負荷を与えることができます。 どこで使うかというと、、、高負荷時のシステムの挙動を見たい場合、AutoScaling等の負荷状況に応じて自動でスケールアップ/アウトさせるための仕組みのテストをしたい場合、部屋が寒いときにPCに発熱させたい場合wwwなどで使えるのかな、と。 Stressをインストール CentOSやRedHatの場合は、DAG(rpmforge)のリポジトリがあるので、ここのパッケージからインストールしましょう。 DAGをyumのリポジトリに追加する場合は、以下リンクから(CentOS5[x86_64]系の2010/05/14時点の最新版は)"rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"をダウンロードして、rpmインストールしま
以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ
InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー
先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。
JavaScript Memory Leak Detectorのver. 2が出てたのでリンク修正 前から気になっていたツールを実際に使ってみたのでメモ。 javascriptでメモリリークしている箇所の検出はJavaScript Memory Leak Detector、IEの使用メモリのチェックはProcess Explorerを使う。インストールはそれぞれ次のリンクを参照。どちらもwindowsの再起動はいらないって書いてあるけど、私は再起動しないと使えませんでした。 GPDE Team Blog : JavaScript Memory Leak Detector (v2) http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector_v2.aspx GPDE Team Blog : JavaScript Memor
MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション
ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基本中の基本であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_
うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence
JavaScriptの部分は というわけでid:amachangに任せましょう。 というわけでそれ以外の部分でいったいどこが重いのか 何が重いの?ということで重たい箇所を分析していきましょう。 IBM PageDetailer 解析ツールとしてIBM PageDtailerを利用します。 alphaWorks Community 解説するよりも見てもらうほうが早いと思うのでさっそく使ってみるよ。 ちなみに上記ソフトのダウンロードにはIBMアカウント(無料)が必要なので、使いたい人は登録しよう! http://b.hatena.ne.jp/HolyGrail/ の結果 こんな感じのグラフが出てきます。 では、詳細を見てみましょう。 このグラフですが、長い部分が http://b.hatena.ne.jp/HolyGrail/ のHTMLそのもののロード時間になっています。 内訳としては 濃い
はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー
WhatThreadsafeRailsMeans - スレッドセーフな Rails ってどういうこと? 目次 この文書について Q/A: スレッドセーフな Rails ってどういうこと? Q: Rails がスレッドセーフになるってどういうこと? Q: なぜこれが重大なの? もう 複数プロセスで shared-nothing なRailsのアーキテクチャで 並列性はあるんじゃない? Q: じゃあ Ruby や Ruby EE, Rubinius みたいなグリーンスレッドの実装は, スレッド対応の恩恵は何もないの? Q. なるほど, じゃ JRuby みたいなネイティブスレッドの実装はどうなの ? Q: それってすごいの? スレッドセーフな Rails ってどういうこと? この文書について "Q/A: What Thread-safe Rails Means" の日本語訳です http://
JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な
RailsのXMLのレンダリングが遅い。 これは、String#to_xsが遅いのが原因らしい。 そこで、これを高速化するためのライブラリfast_xsを使うと、 XMLのレンダリングが速くなります (手元の環境で試したところでは、若干速くなったような気がしました。) Rails-2.0以降では、fast_xsがインストールされている場合に、 自動的にそれを利用するようになっています。 [Changeset 7774] Reference current fast_xs URL インストールは、いつものようにsudo gem install fast_xsでOK。 See Also fast_xs, a fast C extension for cleaning XML replace REXML with Hpricot
※ 画像は公式サイトデモより Railsは遅いと言われる。確かに富豪的なフレームワークであり、そのままの使い方では動作が重たい。そのため、解決手段としてmemcachedをはじめとしたキャッシュ技術を利用することが多い。 ログを解析して一覧してくれる だが、フレームワークの問題ではなく、プログラム側の問題もあるかも知れない。その解決のためにはまず、現状分析からはじめてみよう。 今回紹介するオープンソース・ソフトウェアはLogJuicer、Railsログ分析ソフトウェアだ。 LogJuicerはproductionをターゲットにしたログを分析するソフトウェアだ。標準でテーブル組に各コントローラのヒット数、レンダリング、DBへの実行時間などをリストにしてくれる。さらにコントローラをクリックすると、各アクション別にドリルダウンしてくれる。 円グラフ もう一つのモードはグラフで、円グラフや棒グラフ
RubyProfを使って、Railsアプリのプロファイリングをする方法を紹介します。 まずは、ruby-profをGemでインストールします。 インストールが完了したら、ruby-profプラグインをRailsアプリにインストールします。 ruby-profプラグインは、Gemがインストールされたディレクトリの下にあります。 環境によって場所は変わりますが、例えば/usr/local/lib/ruby/gems/1.8/gems/ruby-prof-0.6.0/rails_plugin/ruby-profなどの場所にあります。 これをvendor/plugins/ruby-profにコピーすれば設定は完了です。 あとはproduction環境でRailsアプリにアクセスすると、以下のようなログが出力されます。 1 Thread ID: 3076980460 2 Total: 2.030
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く