ফিরে যান Webship ব্লগে

Webship প্রকৌশল

Webship 1.3.1: উচ্চতর HTTP/2 এবং রিভার্স-প্রক্সি ক্ষমতা

Webship 1.3.1 সরাসরি h2c ক্ষমতা ৩৪.১৯% বৃদ্ধি করে, সরাসরি HTTP/2 TLS ২৬.৬৭% বৃদ্ধি করে, এবং রিভার্স-প্রক্সি H1 ১৫.১০% বৃদ্ধি করে ১.২.০ এর তুলনায়, একই সময়ে পরিবহন স্থিতিশীলতা এবং সঠিকতা শক্তিশালী করে।

Webship 1.3.1 পরিবহন প্রোফাইলিং, প্রোটোকল হার্ডেনিং, এবং স্থিতিশীলতার কাজের দুইটি রিলিজ সাইকেলকে পরিমাপযোগ্য ক্ষমতা বৃদ্ধিতে পরিণত করে। একই Debian বেঞ্চমার্ক হোস্টে, দশটির মধ্যে আটটি তুলনাযোগ্য সরাসরি এবং রিভার্স-প্রক্সি অনুরোধের কাজ Webship 1.2.0 এর চেয়ে দ্রুত।

সবচেয়ে বড় পরিবর্তনগুলি HTTP/2-এ হচ্ছে: সরাসরি h2c প্রতি সেকেন্ডে ১,০০৩,৪৬৮ থেকে ১,৩৪৬,৫৪৮ অনুরোধে বৃদ্ধি পাচ্ছে, একই সময়ে সরাসরি HTTP/2 TLS প্রতি সেকেন্ডে ৮৮৪,৮৫৭ থেকে ১,১২০,৮৭২ অনুরোধে বৃদ্ধি পাচ্ছে। মাপা প্রতিটি প্রোটোকলে রিভার্স-প্রক্সি ক্ষমতাও উন্নত হচ্ছে।

Webship ১.৩.১ বনাম ১.২.০

নিচের টেবিলটি সার্ভার-লোকাল অনুরোধের মধ্যমক্ষমতার তুলনা করে। বড় হওয়াটা ভালো।

| সরাসরি কাজের চাপ | Webship 1.2.0 | Webship 1.3.1 | পরিবর্তন | | --- | ---: | ---: | ---: | | HTTP/1.1 | 414,195 আরপিএস | 414,060 আরপিএস | -0.03% | | HTTP/1.1 TLS | 303,788 RPS | 312,439 RPS | +2.85% | | h2c | ১,০০৩,৪৬৮ RPS | ১,৩৪৬,৫৪৮ RPS | +৩৪.১৯% | | HTTP/2 TLS | ৮৮৪,৮৫৭ RPS | ১,১২০,৮৭২ RPS | +২৬.৬৭% | | HTTP/3 TLS | ৪০৯,৫১৪ RPS | ৪০০,১৮৭ RPS | -২.২৮% |

| TLS সমাপ্তি সহ রিভার্স প্রক্সি | Webship 1.2.0 | Webship 1.3.1 | পরিবর্তন | | --- | ---: | ---: | ---: | | HTTP/1.1 | ১৬৫,১৬০ RPS | ১৯০,১০২ RPS | +১৫.১০% | | HTTP/1.1 TLS | ১,১৮,৬৮১ RPS | ১,২৩,৩৪৪ RPS | +৩.৯৩% | | h2c | 1,22,371 আরপিএস | 1,35,499 আরপিএস | +10.73% | | HTTP/2 TLS | ১১৩,৯১৯ RPS | ১২৪,৯৫৭ RPS | +৯.৬৯% | | HTTP/3 TLS | ১২৬,৪০৭ RPS | ১৩১,৫২৯ RPS | +৪.০৫% |

ডাইরেক্ট HTTP/1.1 কার্যত অপরিবর্তিত আছে। ডাইরেক্ট HTTP/3 TLS 1.2.0 মাধ্যমানের তুলনায় 2.28% কম, তাই আমরা প্রতিটি সেলকে লাভ হিসেবে উপস্থাপন করছি না। রিলিজটি তার সবচেয়ে স্পষ্ট উন্নতি প্রদানের ক্ষেত্রে HTTP/2 এবং রিভার্স-প্রক্সি ক্ষমতায়, পাশাপাশি কঠোর শূন্য-ত্রুটি গ্রহণ নীতি বজায় রাখে।

লাভগুলো কোথা থেকে এসেছে

Webship 1.3.1 সবচেয়ে গরম পথগুলোতে কাজ কমায়, প্রোটোকল বা সুরক্ষা পরীক্ষা দুর্বল না করেই।

  • কানেকশন-লোকাল রেপ্লিকা বারবার HTTP/1 এবং HTTP/2 প্রতিক্রিয়াকে প্রসেস-সারি বাইট-বাফার রেফারেন্স-কাউন্ট প্রতিযোগিতা এড়াতে দেয়।
  • শেয়ার করা HPACK ব্লকগুলিতে এখন সংযোগ-স্থিতিশীল HTTP/2 ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে, যা পুনরাবৃত্ত হেডার এনকোডিং কমায়।
  • HTTP/2 অন্য একটি সকেট পড়ার চেষ্টা করার আগে সারিতে থাকা আউটপুট ফ্লাশ করে এবং আরও বেশি সংযোগ-স্বত্বাধীন, লক-মুক্ত স্ট্রীম হিসাবরক্ষণ ব্যবহার করে।
  • HTTP/3 দ্বারা তৈরি শর্ট-হেডার প্যাকেটগুলি একবার রিসিভ কপি এড়িয়ে চলে, যখন হ্যান্ডশেক প্যাকেটগুলি মালিকানাভিত্তিক নিরাপদ বাফারিং বজায় রাখে।
  • TLS পাস-থ্রু প্রতিটি রিলে সাইকেলের জন্য এগুলো পুনর্নির্মাণের পরিবর্তে কর্মী-স্থানীয় রিলে বাফার এবং একটি অব্যবহৃত টাইমার পুনরায় ব্যবহার করে।
  • রিক্লিজ পরিবহন পথগুলি যন্ত্রপাতি অক্ষম করা থাকলে আর ট্রেসিং কল সাইট বহন করে না।

এই পরিবর্তনগুলি ফ্রেমিং, ট্রেইলার, বাতিলকরণ, পরিদর্শন এবং ব্যাকপ্রেশার বজায় রাখে। এগুলি সমন্বয় এবং বরাদ্দের খরচ কমায়, সঠিকতা সম্পর্কিত কাজকে ঐচ্ছিক দ্রুত পথ হিসেবে রূপান্তর না করেই।

স্থিতিশীলতা হলো ক্ষমতার একটি অংশ

একটি দ্রুত মিডিয়ান কেবল তখনই উপযোগী যখন রানটি সঠিক এবং পুনরাবৃত্তিযোগ্য হয়। প্রতিটি গ্রহণযোগ্য অনুরোধ-ক্ষমতা নমুনার জন্য শূন্য HTTP ত্রুটি, সকেট ত্রুটি, প্রোটোকল ব্যর্থতা, প্রক্সি-সৃষ্ট ব্যর্থতা, বড় পৃষ্ঠা ত্রুটি এবং HTTP/3 প্যাকেট ক্ষতি প্রয়োজন।

রিলিজটি শোনোদের অস্থায়ী বর্ণনাকারী, মেমরি এবং নেটওয়ার্ক চাপের মাধ্যমে সচল রাখে; রিকোয়েস্ট ডেডলাইনের দ্বারা ক্যাশ-ধ্বংস অপেক্ষা সীমাবদ্ধ করে; হাফ-ক্লোজের পরে TLS পাস-থ্রু প্রতিক্রিয়াগুলি সংরক্ষণ করে; এবং WebTransport ভর্তি, হিসাবরক্ষণ, প্যানিক বিচ্ছিন্নকরণ, এবং প্রত্যাখ্যান ক্রম ঠিক করে।

ফোকাসকৃত রিভার্স HTTP/2 TLS যোগ্যতা 124,957 RPS মধ্যক মান উৎপন্ন করেছে 0.89% বিস্তার এবং 0.33% বিচ্যুতি সহ। পুনঃযোগ্যতা সম্পন্ন করা এবং পাস-থ্রু HTTP/3 স্ট্রিমিং প্রতিটি সাতটি গ্রহণযোগ্য নমুনা পাশ করেছে, যেখানে ঠিক 99,943,778-বাইটের বডি রয়েছে এবং কোনও ক্লায়েন্ট, প্রোটোকল, বা প্যাকেট-হানির ত্রুটি নেই।

WebTransport এবং ১০০ এমবি স্ট্রিমিং

Webship 1.3.1 সার্ভার-লোকাল WebTransport এবং বড়-ফাইল স্ট্রিমিং পাথগুলোকেও যোগ্য করে তোলে:

  • ডাইরেক্ট WebTransport: নির্ভরযোগ্য স্ট্রিমের জন্য ১,০১৮.১ মিবি/সেকেন্ড এবং ডাটাগ্রামের জন্য ১,০৩৮.৯ মিবি/সেকেন্ড।
  • WebTransport TLS পাস-থ্রু মাধ্যমে: বিশ্বাসযোগ্য স্ট্রিমের জন্য ৫৪৮.৬ মিবি/সেক এবং ডেটাগ্রামের জন্য ৬২৯.৭ মিবি/সেক।
  • ডাইরেক্ট ১০০ এমবি স্ট্রিমিং: HTTP/1.1 TLS-এ ৪,১৯৪.৮ মিবি/সেকেন্ড, HTTP/2 TLS-এ ৩,৫৭৪.৩ মিবি/সেকেন্ড, এবং HTTP/3 TLS-এ ২,০৯৬.৯ মিবি/সেকেন্ড।
  • টার্নস এলএস সহ রিভার্স-প্রক্সি স্ট্রিমিং: যথাক্রমে ৩,৫৮৫.৭ মি.বি/সেকেন্ড, ৩,৩৫৫.০ মি.বি/সেকেন্ড, এবং ১,৯৩৮.৬ মি.বি/সেকেন্ড।

পরিমাপযোগ্য পরিচালনার জন্য তৈরি একটি রিলিজ

Webship 1.3.1 সমর্থিত লিনাক্স, উইন্ডোজ, ম্যাকওএস এবং ওপেনহারমনি লক্ষ্যগুলির জন্য স্বাক্ষরিত বাইনারি হিসেবে উপলব্ধ। লিনাক্স x86_64 রিলিজের সাথে এর উপযুক্ত PGO প্রোফাইল এবং উত্স মেটাডেটা অন্তর্ভুক্ত রয়েছে।

সম্পূর্ণ [বেঞ্চমার্ক পদ্ধতি এবং বর্তমান তুলনা](/benchmarks) পড়ুন, [1.3.1 ডকুমেন্টেশন](/docs/1.3.1) পর্যালোচনা করুন, অথবা [ডাউনলোড](/downloads) থেকে স্বাক্ষরিত বিল্ডটি পান।

উৎস এবং সামগ্রী পদ্ধতি

তুলনায় ৪ সেপ্টেম্বর, ২০২৬ তারিখের রেকর্ডকৃত Webship ১.২.০ ডেবিয়ান ম্যাট্রিক্স এবং ১১ সেপ্টেম্বর, ২০২৬ তারিখের রেকর্ডকৃত Webship ১.৩.১ একীভূত ডেবিয়ান সক্ষমতা বেঞ্চমার্ক ব্যবহার করা হয়েছে। শতকরা হার রেকর্ডকৃত মধ্যমান থেকে হিসাব করা হয়েছে।