2

Liftフレームワークを学んでいます。git://github.com/lift/lift_25_sbt.git のプロジェクト テンプレートを使用し、container:start sbt コマンドでサーバーを起動しました。

このテンプレート アプリケーションは、単純なメニューのみを表示します。パフォーマンスを測定するためにApacheのabを使用すると、かなり悪いです。パフォーマンスを向上させるための基本的な何かが欠けていますか?

C:\Program Files\Apache Software Foundation\httpd-2.0.64\Apache2\bin>ab -n 30 -c
 10 http://127.0.0.1:8080/
Benchmarking 127.0.0.1 (be patient).....done

Server Software:        Jetty(8.1.7.v20120910)
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /
Document Length:        2877 bytes

Concurrency Level:      10
Time taken for tests:   8.15625 seconds
Complete requests:      30
Failed requests:        0
Write errors:           0
Total transferred:      96275 bytes
HTML transferred:       86310 bytes
Requests per second:    3.74 [#/sec] (mean)
Time per request:       2671.875 [ms] (mean)
Time per request:       267.188 [ms] (mean, across all concurrent requests)
Transfer rate:          11.73 [Kbytes/sec] received
4

2 に答える 2

2

本番モードで実行していますか? devel では 30 rps ほどありましたが、プロダクション モードでは 250 以上でした。( https://www.assembla.com/spaces/liftweb/wiki/Run_Modes )

于 2013-04-09T04:49:30.383 に答える
1
  • 前述のとおり、Lift は本番モードで実行する必要があります。これは、優れたパフォーマンスを実現するための主要な鍵です。すべてのテンプレートはこの方法でキャッシュされ、他の最適化が適用されます。
  • 抽象的で理論的ではないものを測定したい場合は、JVM に「ウォームアップ」する時間を与え、JIT 最適化を適用する必要があります。したがって、最初に最大数千のリクエストを適用し、それらを完全に無視する必要があります (数秒かかる必要があります)。その後、すでに起動しているサーバーの実際のパフォーマンスを測定します
  • いくつかのわずかな JVM の最適化がありますが、私にはハックのように見えますが、ブーストは約 20% 程度です
  • 他の小さなハックには、nginx を使用した静的コンテンツの提供、Simple Build Tool の代わりに専用サーバーでのアプリケーションの起動などが含まれます。
于 2013-04-09T16:23:09.567 に答える