2012-08-30 24 views
5

RackまたはSinatraアプリケーションのメモリ使用量をどのように測定しますか?ラックまたはSinatraアプリのメモリ使用量を測定するにはどうすればよいですか?

私はおそらくそれが配備されているかに大きく依存することを理解しています。 しかし、どのくらいのメモリが使用されているかという基本的な考え方はどのようにして得られますか?

+1

'top'または'プロセスIDとhtop'が働くことになることができ – Viren

答えて

2

あなたが乗客を使用している場合、あなたは乗客・メモリの統計を試みることができるあなたに素敵な概要を示しサイトによって分割、そうでなければ、シフト-M、トップを使用してメモリ使用量のいくつかのアイデアを得ることができ、探していますルビープロセス。それの名前にもかかわらず

0

は、私は正常に(シナトラの上に構築された)Padrinoのアプリで動的ベンチマークメモリ使用量にderailed_benchmarks gemを使用しました。 docsは、Rails以外のRackアプリでこれを行う方法を説明しています。にDERAILED_APPを定義して、アプリの起動方法を教えてください。

それはあなたのローカルホスト上の実サーバ(私はユニコーンを使用)を実行して、潜在的にも、本番データベースとすることができます(DATABASE_URLを定義します)。必要に応じて、任意のエンドポイントをテストし、認証をバイパスするために使用することもできます。ユースケースには、時間の経過に伴うメモリの使用(リークを見つけるため)と、与えられたエンドポイント(起動時にたくさんのメモリが使用される)の起動時に宝石/必要なライブラリメモリのプロファイリングが含まれます。

例として、コマンドbundle exec derailed exec perf:memは、起動時に私のアプリのルートの出力を示しています(ここでは、< 3 MiBの使用を隠しています)。 Herokuの統計が私のプロダクションサーバーで私に伝えているものと、およそ70 MiBの集計。私のアプリは 'padfoot' btwと呼ばれています。

TOP: 71.75 MiB mechanize: 19.0898 MiB (Also required by: /Users/me/dev/padfoot/lib/parsers/transaction_table_parser.rb, /Users/me/dev/padfoot/lib/scrapers/app_details_scraper.rb, and 4 others) mechanize/pluggable_parsers: 11.1055 MiB mime/types: 10.9766 MiB (Also required by: /Users/me/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request, /Users/me/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/payload) padrino: 13.1016 MiB padrino-core: 8.0273 MiB (Also required by: padrino-cache, padrino-admin) padrino-core/application: 3.3555 MiB sinatra/base: 3.1406 MiB (Also required by: padrino-core/ext/sinatra, sinatra/main) padrino-helpers: 3.707 MiB (Also required by: padrino-cache, padrino-admin) padrino/rendering: 3.3203 MiB (Also required by: /Users/me/dev/padfoot/app/app.rb) /Users/me/dev/padfoot/config/apps.rb: 6.9805 MiB /Users/me/dev/padfoot/app/app.rb: 6.8906 MiB aws-sdk-core/s3: 6.3711 MiB /Users/me/dev/padfoot/lib/scrapers/gps/gps_scraper.rb: 4.25 MiB linguistics/en: 4.1523 MiB /Users/me/dev/padfoot/lib/scrapers/digimap/digimap_scraper.rb: 3.0547 MiB

関連する問題