منصوبے کے بارے میں
OpenEverest پلگ ان بینچ ایک پلگ ان ہے جو OpenEverest PostgreSQL بینچ مارکنگ MVP کے حصے کے طور پر ترقی کے مراحل میں ہے۔ یہ صارفین کو OpenEverest ڈیٹا بیس کلسٹر ویو سے pgbench بینچ مارک چلانے کی سہولت دیتا ہے، جہاں ہر بینچ مارک عارضی Kubernetes Job میں انجام پاتا ہے۔ یہ پروجیکٹ واضح طور پر ایک جاری MVP کے طور پر نشان زد ہے اور ابھی پیداواری استعمال کے لیے نہیں ہے۔
یہ کیسے کام کرتا ہے: پلگ ان بیک اینڈ OpenEverest API کے ذریعے منتخب PostgreSQL انسٹنس کے کنکشن کی تفصیلات حاصل کرکے بینچ مارک رن کو مربوط کرتا ہے، ڈیٹا بیس کی اسناد پر مشتمل ایک عارضی Secret بناتا ہے، pgbench رنر امیج استعمال کرتے ہوئے Kubernetes Job بناتا ہے، Job کے مکمل ہونے کا انتظار کرتا ہے اور رنر لاگز جمع کرتا ہے، پھر Job اور عارضی Secret کو حذف کر دیتا ہے۔ فرنٹ اینڈ فی الحال PostgreSQL کلسٹر تفصیلات کے ٹیب کے طور پر ظاہر ہوتا ہے؛ دیگر ڈیٹا بیس ٹیکنالوجیز بعد میں ڈرائیور پر مبنی ڈیزائن کے ذریعے شامل کی جا سکتی ہیں۔
مقامی ترقی کے لیے Docker، kubectl، Helm، k3d، Tilt، Go، اور Node.js مع npm درکار ہیں۔ کلسٹر میں پلگ ان چلانے کے لیے OpenEverest انسٹالیشن اور ایک معاون PostgreSQL فراہم کنندہ بھی ضروری ہے۔ ترقیاتی کلسٹر اور Tilt ماحول make dev-up سے شروع کیا جا سکتا ہے، یا اگر کلسٹر پہلے سے موجود ہو تو tilt up -f dev/Tiltfile استعمال کریں۔ Tilt فرنٹ اینڈ، کوآرڈینیٹر امیج، اور pgbench رنر امیج بناتا ہے؛ رنر امیج صرف اس وقت استعمال ہوتی ہے جب کوآرڈینیٹر بینچ مارک Job شروع کرتا ہے۔
رنر PostgreSQL کنکشن کی تفصیلات PGHOST، PGDATABASE، PGUSER، اور PGPASSWORD یا PGPASSFILE کے ذریعے حاصل کرتا ہے۔ بینچ مارک کے اختیارات میں BENCH_INITIALIZE (پہلے سے طے شدہ false)، BENCH_DURATION (پہلے سے طے شدہ 60 سیکنڈ)، BENCH_CLIENTS (پہلے سے طے شدہ 1)، BENCH_THREADS (پہلے سے طے شدہ 1)، اور BENCH_SCALE (پہلے سے طے شدہ 1) شامل ہیں۔ BENCH_INITIALIZE=true سیٹ کرنے سے pgbench ٹیبلز حذف اور دوبارہ بنائی جاتی ہیں، لہذا اسے صرف ایک قابلِ استعمال ڈیٹا بیس کے ساتھ استعمال کیا جانا چاہیے۔
مفید کمانڈز میں فرنٹ اینڈ کے لیے npm ci اور npm run build، بیک اینڈ میں go test ./... اور go vet ./...، helm lint charts/plugin-bench/، اور pgbench رنر امیج کے لیے docker build شامل ہیں۔ ریپوزٹری کو src/ (React فرنٹ اینڈ)، backend/ (Go بیک اینڈ، جس میں internal/everest OpenEverest API کلائنٹ اور internal/coordinator Kubernetes Job اور Secret آرکیسٹریشن کے لیے)، runners/pgbench/ (رنر امیج)، charts/plugin-bench/ (Helm چارٹ اور Plugin ریسورس)، dev/ (Tilt اور k3d کنفیگریشن)، اور spec.md (MVP ضروریات) میں منظم کیا گیا ہے۔
موجودہ حدود: MVP صرف OpenEverest کے زیر انتظام PostgreSQL انسٹنسز کو نشانہ بناتا ہے، بینچ مارک آؤٹ پٹ رنر سے جمع کیا جاتا ہے اور ابھی بیرونی ڈیٹا بیس میں محفوظ نہیں کیا جاتا، اور رن ہسٹری، بہتر نتیجہ تجزیہ، اور اضافی ڈیٹا بیس ٹیکنالوجیز کی حمایت بعد کے مراحل کے لیے منصوبہ بند ہے۔ پروجیکٹ Apache License 2.0 کے تحت لائسنس یافتہ ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.