GraphQL Query খরচ অনুমানকারী
আপনার সার্ভারে পৌঁছানোর আগে GraphQL operation-এর খরচ অনুমান করুন। গভীরভাবে nested ও গুণিত list selection খুঁজে প্রতিটি list-size assumption লিখে রাখুন।
সর্বোচ্চ 200,000 অক্ষরের অপারেশন, 1,000,000 অক্ষরের স্কিমা ও 200,000 অক্ষরের ভেরিয়েবল গ্রহণ করে। সর্বোচ্চ 10,000 ফিল্ড ও 64 স্তরের nesting গণনা করে; তালিকার আকার 1 থেকে 10,000 এবং ফিল্ড খরচ 0 থেকে 1,000। অনুমান ব্রাউজারের background worker-এ চলে। ডাউনলোডে থাকে JSON রিপোর্ট ও CSV বিশ্লেষণ। একটি operation, অথবা operation-এর নাম নির্দিষ্ট করা কয়েকটি operation। Fragment প্রসারিত করা হয়। সর্বোচ্চ 200,000 অক্ষর। চালানোর আগে সেটিংস দেখে নিন।
আপনার ফলাফল
GraphQL Query খরচ অনুমানকারী
- মূল বাক্সে GraphQL operation পেস্ট করুন।
- SDL বা introspection JSON হিসেবে schema পেস্ট করুন।
- আপনার সার্ভারে অন্য মান থাকলে ডিফল্ট তালিকার আকার, স্লাইসিং আর্গুমেন্ট ও ফিল্ড খরচ সমন্বয় করুন।
- হিসাব চালিয়ে গুরুত্বপূর্ণ অংশ পর্যালোচনা করুন, তারপর JSON বা CSV বিশ্লেষণ ডাউনলোড করুন।
যা জানা দরকার
সর্বোচ্চ 200,000 অক্ষরের অপারেশন, 1,000,000 অক্ষরের স্কিমা ও 200,000 অক্ষরের ভেরিয়েবল গ্রহণ করে। সর্বোচ্চ 10,000 ফিল্ড ও 64 স্তরের nesting গণনা করে; তালিকার আকার 1 থেকে 10,000 এবং ফিল্ড খরচ 0 থেকে 1,000। অনুমান ব্রাউজারের background worker-এ চলে। ডাউনলোডে থাকে JSON রিপোর্ট ও CSV বিশ্লেষণ।
খরচের মডেল
নির্বাচিত প্রতিটি field-এর return type অনুযায়ী object বা scalar cost থাকে, যা উপরের তালিকার আকার দিয়ে গুণ করা হয়। মোট হলো expanded field selection-গুলোর cost-এর যোগফল; তাই বারবার নির্বাচন করলে সার্ভারের merged execution-এর cost বেশি অনুমান হতে পারে। __typename-এর cost শূন্য। এই planning model সার্ভার, conditional directive বা nested list content চালায় না এবং এটি সার্ভার-প্রয়োগকৃত সীমা নয়।
তালিকার আকার
তালিকা ফিল্ডের আকার সবচেয়ে বড় স্লাইসিং আর্গুমেন্ট থেকে নেওয়া হয়, যেমন first, last বা limit। মান বাদ থাকলে অপারেশনের ভেরিয়েবল ডিফল্ট ও স্কিমার আর্গুমেন্ট ডিফল্ট ব্যবহৃত হয়। স্লাইসিং মান না থাকলে, চালু থাকলে @listSize(assumedSize:) ব্যবহৃত হয়, তারপর মডেলের ডিফল্ট তালিকা-আকার। @cost(weight:) ফিল্ডের খরচ প্রতিস্থাপন করে। সব গণিত আকার 1 থেকে 10,000-এর পূর্ণসংখ্যা এবং ওজন 0 থেকে 1,000 হতে হবে। অবৈধ অপারেশন, ভেরিয়েবল, সীমা ও চক্রাকার fragment টাইপযুক্ত ত্রুটি দিয়ে অনুমান থামায়।
প্রতিবেদন পড়া
প্রতিবেদনে assumption, সবচেয়ে ব্যয়বহুল দশটি subtree এবং depth, multiplier, list size, নিজস্ব খরচ ও subtree-র খরচসহ পুরো tree থাকে। CSV-তে প্রতি field path-এর জন্য এক সারি থাকে। ব্যবহারস্থলে fragment spread প্রসারিত হয়; চক্রাকার fragment finite cost হিসাব নয়, query validation error।