ビデオコントローラー-アクションの表示で、2つのシナリオを試しました。最初のものはを使用increment_counter
し、データベースに直接書き込みます。
Video.increment_counter(:views_count, @video.id)
2番目のアプローチはこのsave
方法を使用します。
@video.views_count = @video.views_count + 1
@video.save
ApacheBenchでは、次のことを行います。
ab -n 100 -c 10 http://127.0.0.1:3000vidoes/18
ビデオIDは18ですviews_count
。abを実行するたびに、を介してリセットするようにしてVideo.find(18).update_attribute(:views_count, 18)
ください。
両方のシナリオでApacheBenchを実行した後、100で一貫しています。データベースに直接書き込むため、メソッドよりも正確であるとviews_count
想像しました。increment_counter
save
私は正しくベンチングしていますか?