তো আপনার রেইলস অ্যাপে অনেক RAM লাগছে। তাতে নতুন কী? কিন্তু হয়তো এটাই সবসময় সত্য নয়। হয়তো আপনার অ্যাপ্লিকেশনের মেমরি ফুটপ্রিন্ট এক বা একাধিক ব্লোটেড জেমের কারণে বড় হয়েছে।
আমি gần সময় রিচার্ড শ্নীমানের একটি খুব কুল প্রজেক্ট খুঁজে পেলাম। এর নাম Derailed, এবং এটি অটোমেটিক বেঞ্চмар্কিং টুলের একটি সংগ্রহ। গিটহাব রিপো এখানে।
আপনার Gemfile-এ শুধু এটি যোগ করুন:
gem 'derailed', group: :development gem "stackprof", group: :development তারপর আপনি সঠিকভাবে দেখতে পাবেন আপনার প্রতিটি জেম কম্পাইল টাইমে কতটুকু মেমরি ব্যবহার করছে:
`bundle:mem` কমান্ড ব্যবহার করে দেখুন প্রতিটি জেম কম্পাইল টাইমে কতটুকু RAM ব্যবহার করছে
আপনি লোড টাইমে আপনার জেমগুলো কতটুকু অবজেক্ট এলোকেট করছে সেটিও দেখতে পারেন।
`bundle:objects` ব্যবহার করে লোড টাইমে অবজেক্ট এলোকেশন ইনফরমেশন দেখুন
এমনকি টুল আছে যেগুলো অ্যাপ্লিকেশন রান করার সময় মেমরি ব্যবহার মাপে। আমি এখনো পার্সোনালি চেক করিনি, কারণ আপনাকে আপনার অ্যাপ প্রোডাকশন মোডে ডেভেলপমেন্ট কম্পিউটারে রান করতে হয়।