প্রকল্প সম্পর্কে
django-query-optimizer হলো Django ORM পারফরম্যান্স বিশ্লেষণ এবং অপ্টিমাইজ করার জন্য ডিজাইন করা একটি টুল। এটি N+1 কুয়েরি, ডুপ্লিকেট SQL এক্সিকিউশন এবং স্লো কুয়েরির মতো সাধারণ ডেটাবেস বটলনেকগুলো শনাক্ত করে এবং সমাধানের জন্য সুনির্দিষ্ট পরামর্শ (যেমন: select_related() বা prefetch_related() ব্যবহার করা) প্রদান করে।
এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- কুয়েরি সংগ্রহ: SQL কুয়েরি, এক্সিকিউশন ডিউরেশন এবং Python স্ট্যাক ট্রেস ক্যাপচার করার জন্য একটি থ্রেড-সেফ কনটেক্সট ম্যানেজার এবং HTTP মিডলওয়্যার।
- বিশেষায়িত ডিটেক্টর: সাধারণ স্লো/ডুপ্লিকেট কুয়েরি, N+1 প্যাটার্ন, ForeignKey লুকআপ রিপিটেশন এবং DRF সিরিয়ালাইজার-নির্দিষ্ট N+1 সমস্যার জন্য বিল্ট-ইন বিশ্লেষণ।
- ইন্টিগ্রেশন পয়েন্ট:
- Django Admin: সেশন লিস্ট এবং শীর্ষ স্লো কুয়েরি দেখার জন্য একটি ড্যাশবোর্ড।
- pytest: একটি প্লাগইন যা `--query-analysis` ফ্ল্যাগ এবং একটি `query_collector` ফিক্সচার প্রদান করে, যার মাধ্যমে টেস্টে কুয়েরি কাউন্ট এবং পারফরম্যান্স যাচাই করা যায়।
- VS Code: এডিটরে ইনলাইন ওয়ার্নিং হিসেবে ডায়াগনস্টিকস দেখানোর জন্য SARIF 2.1.0 আউটপুট সাপোর্ট।
- স্কোরিং: ORM দক্ষতা পরিমাপ করার জন্য লেটার গ্রেড (A-F) সহ একটি হেলথ স্কোরিং সিস্টেম (০-১০০)।
এই টুলটি ডেভেলপমেন্ট এনভায়রনমেন্টের জন্য তৈরি এবং QueryCollector ও QueryAnalyzer-এর মাধ্যমে কাস্টম বিশ্লেষণের জন্য একটি পাবলিক API প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.