ব্রাউজারে সর্বাধিক সমান্তরাল HT সংযোগগুলি?


465

আমি এইচটিটিপি সার্ভারে কিছু স্থগিত সংযোগ তৈরি করছি (ধূমকেতু, বিপরীত এজ্যাক্স, ইত্যাদি)। এটি ঠিক আছে, তবে আমি দেখতে পাচ্ছি যে ব্রাউজার কেবলমাত্র একটি নির্দিষ্ট ডোমেনে একই সাথে দুটি স্থগিত সংযোগের অনুমতি দেয়। সুতরাং যদি কোনও ব্যবহারকারী তাদের ব্রাউজারের ট্যাব 1 এ আমার ওয়েবসাইটটি দেখছেন, তবে এটি ট্যাব 2 এ লোড করার চেষ্টা করে, তারা আমার সাইটে দুটি অনুমোদিত সংযোগ ব্যবহার করেছে।

আমি মনে করি যে আমি কিছু ওয়াইল্ডকার্ড ডোমেন জিনিস করতে পারি, যেখানে আমার এইচটিসি সার্ভারটি আমার সাইটের কোনও ঠিকানার সমাধান করে যেমন:

*.example.com/webapp  -> 192.0.2.1 (the actual ip of my server)

তাই:

a.example.com/webapp
b.example.com/webapp
c.example.com/webapp

সবগুলি এখনও ( www.example.com/webapp) নির্দেশ করে তবে ব্রাউজার তাদের আলাদা ডোমেন হিসাবে বিবেচনা করে, তাই আমি 2 সংযোগের সীমাতে চলে না। এটা কি সত্য?

এমনকি যে যদি হয় সত্য - সব ডোমেন জুড়ে ব্রাউজার প্রতি সক্রিয় সংযোগের সংখ্যা কোনো সীমা? বলুন আমি উপরের স্কিমটি ব্যবহার করি - উদাহরণস্বরূপ ফায়ারফক্স কি কোনও নির্দিষ্ট সময়ে 24 টি সমান্তরাল সংযোগের অনুমতি দেয়? কিছুটা এইরকম:

1) a.example.com/webapp
2) www.download.example/hugefile.zip
3) b.example.com/webapp
4) c.example.com/webapp
...
24) x.example.com/webapp
25) // Error - all 24 possible connections currently in use!

আমি উদাহরণ হিসাবে 24 সংযোগ / ফায়ারফক্স বেছে নিয়েছি।



3
হ্যাঁ এটাকে ডোমেন শারডিং বলা হয় যা HTTP / 2 এর যুগে একটি অপ্রচলিত কৌশল
জেফ পেকেট

এখানে সমাধানটি হ'ল আপনার সমস্ত ট্যাব আপডেটের জন্য কেবলমাত্র একটি স্থগিত সংযোগ। যখন কোনও ট্যাব খোলা হয়, তখন এই ট্যাবটির জন্য আপডেটগুলির জন্য একটি অনুরোধ সার্ভারে প্রেরণ করা হয়, এবং ট্যাবটি কোনও আপডেটের জন্য মূল সাসপেন্ড করা সংযোগটি শোনায় এবং কেবল এটির জন্য আগ্রহী ব্যক্তিগুলিকে তুলে ধরে I আমি জানি এটি আপনি কি না জিজ্ঞাসা করছি, তবে ভেবেছিলাম এটি কারওর জন্য কার্যকর হতে পারে। :-)
ক্রেিগো

উত্তর:


418

প্রতি সার্ভার / প্রক্সি অনুসারে ডিফল্ট একযোগে স্থির সংযোগগুলির সংখ্যা:

Firefox 2:  2
Firefox 3+: 6
Opera 9.26: 4
Opera 12:   6
Safari 3:   4
Safari 5:   6
IE 7:       2
IE 8:       6
IE 10:      8
Chrome:     6

সীমাটি প্রতি সার্ভার / প্রক্সি, তাই আপনার ওয়াইল্ডকার্ড স্কিম কাজ করবে।

এফওয়াইআই: এটি বিশেষত HTTP 1.1 এর সাথে সম্পর্কিত; অন্যান্য প্রোটোকলগুলির আলাদা উদ্বেগ এবং সীমাবদ্ধতা রয়েছে (যেমন, এসপিডিওয়াই, টিএলএস, এইচটিটিপি 2)।


41
আমি বিস্মিত. এইচটিটিপি 1.1 আরএফসি কি সার্ভারে স্থির সংযোগ 2 তে সীমাবদ্ধ রাখতে বলে না?
অ্যাড্রিয়ান ম্যাকার্থি

53
হ্যাঁ এটা করে. সাম্প্রতিক ব্রাউজারগুলি আর মানায় না।
Alsciende

38
এই সীমা জন্য প্রশংসা (গুলি)?
এজে।

19
উত্স অনুযায়ী ওয়েবসকেট সংযোগগুলির কোনও সীমাবদ্ধতা রয়েছে?
মিতার

13
সার্ভারে 2 সংযোগের সীমাটি HTTP 1.1 আরএফসি থেকে সরানো হয়েছে: evertpot.com/http-11- আপডেট হয়েছে
ফ্লোরিয়ান শীত

195

HTTP- র / 1.1

IE 6 and 7:      2
IE 8:            6
IE 9:            6
IE 10:           8
IE 11:           8
Firefox 2:       2
Firefox 3:       6
Firefox 4 to 46: 6
Opera 9.63:      4
Opera 10:        8
Opera 11 and 12: 6
Chrome 1 and 2:  6
Chrome 3:        4
Chrome 4 to 23:  6
Safari 3 and 4:  4

উত্স: http://p2p.wrox.com/book-professional-website-performance-optimizing-front-end-back-end-705/

HTTP- র / 2 (-এ SPDY)

Multiplexed support(one single TCP connection for all requests)


1
যদি অপারেটিং সিস্টেমের স্তরে কোনও নিম্ন মানের ক্ষেত্রে সীমাবদ্ধ থাকে তবে ব্রাউজার কি এই উচ্চ মানগুলি ব্যবহার করতে পারে? ব্রাউজার ওএস সেটিংস ওভাররাইড করতে পারে? উইন্ডোজের মতো আপনিও কয়েকটি রেজিস্ট্রি সেটিংস পেয়েছেন (ম্যাক্সকনেকশনসপারসভার এবং ম্যাক্সকনেকশনস প্যার 1_0 সার্ভার) যা এই পোস্টে উল্লিখিত হিসাবে সার্ভারে সর্বাধিক সংযোগগুলি নিয়ন্ত্রণ করে: স্ট্যাকওভারফ্লো
আরবিটি

এটি একটি নেট নেট প্রোগ্রামিং নির্দিষ্ট সমস্যা হিসাবে পরিণত হয়েছে। যে কোনও হারে তৃতীয় পক্ষের ব্রাউজারগুলি তাদের নিজস্ব এইচটিটিপি সমর্থন প্রয়োগ করে তাই উইন্ডোজ সীমা দ্বারা প্রভাবিত হবে না।
থোমাসরুটটার

সুতরাং যেমন ওয়েব ব্রাউজারটি এইচটিটিপি ১.১ দিয়ে বিভিন্ন সংস্থানগুলি দ্রুত লোড করার জন্য হোস্ট প্রতি একাধিক টিসিপি (~ 6 সমান্তরাল) সংযোগ খোলার পক্ষে সাধারণ, এইচটিটিপি / ২ এর ক্ষেত্রে আর এটি হয় না কারণ একাধিক সংযোগ এক টিসিপির উপর একই গতি অর্জন করে this সংযোগ নেই?
স্টিফান

116
 BrowserVersion | ConnectionsPerHostname | MaxConnections
----------------------------------------------------------
 Chrome34/32    | 6                      | 10
 IE9            | 6                      | 35
 IE10           | 8                      | 17
 IE11           | 13                     | 17
 Firefox27/26   | 6                      | 17
 Safari7.0.1    | 6                      | 17
 Android4       | 6                      | 17
 ChromeMobile18 | 6                      | 16
 IE Mobile9     | 6                      | 60

প্রথম মান ConnectionsPerHostname এবং দ্বিতীয় মান MaxConnections

সূত্র: http://www.browserscope.org/?category=network&v=top

নোট: ConnectionsPerHostname সমবর্তী HTTP অনুরোধ সর্বোচ্চ সংখ্যক যে ব্রাউজার একই ডোমেনে করতে হবে। একযোগে সংযোগের সংখ্যা বাড়ানোর জন্য, কেউ বিভিন্ন ডোমেনে সংস্থান (যেমন চিত্রগুলি) হোস্ট করতে পারে। যাইহোক, আপনি অতিক্রম করতে পারে না MaxConnections , একটি ব্রাউজার মোট খুলবে সংযোগের সর্বোচ্চ সংখ্যক - সব ডোমেন জুড়ে।

2020 আপডেট

প্রতি ব্রাউজারে সমান্তরাল সংযোগের সংখ্যা

| Browser              | Connections per Domain         | Max Connections                |
| -------------------- | ------------------------------ | ------------------------------ |
| Chrome 81            | 6 [^note1]                     | 256[^note2]                    |
| Edge 18              | *same as Internet Explorer 11* | *same as Internet Explorer 11* |
| Firefox 68           | 9 [^note1] or 6 [^note3]       | 1000+[^note2]                  |
| Internet Explorer 11 | 12 [^note4]                    | 1000+[^note2]                  |
| Safari 13            | 6 [^note1]                     | 1000+[^note2]                  |
  • [^ দ্রষ্টব্য 1]: 72 টি অনুরোধ, 1 ডোমেন (127.0.0.1) এর সাথে পরীক্ষিত
  • [^ দ্রষ্টব্য 2]: 1002 অনুরোধ, ডোমেন * 167 ডোমেন (127.0.0। *) প্রতি 6 টি অনুরোধের সাথে পরীক্ষিত
  • [^ দ্রষ্টব্য 3]: যখন async প্রসঙ্গে বলা হয়, যেমন setTimeout, + requestAnimationFrame, then... এর কলব্যাকে
  • [^ দ্রষ্টব্য4]: এর মধ্যে সর্বশেষ 6 টি ফলো-আপগুলি রয়েছে (2,4,6 যথাক্রমে 0.5s, 1s, 1.5.s এ উপলব্ধ)

11
50+ সংস্করণ হিসাবে ক্রোম এখন ফায়ারফক্স এবং সাফারির সাথে একত্রে আনতে সর্বাধিক 17 সর্বাধিক সংযোগগুলিকে সমর্থন করে।
phাফ - বেন ডুগইড

আমি মনে করি এই উত্তরটি কিছুটা বিভ্রান্তিকর। হোস্ট এবং ডোমেন সম্পূর্ণ আলাদা। কানেকশনসপর্বস্টম মানে প্রতি সাবডোমেন per সুতরাং যদি 2 টি সাব ডোমেন থাকে তবে এটি অতিরিক্ত সংযোগগুলি ব্যবহার করে if যদি সাবডোমেন না থাকে তবে তার অর্থ প্রতি ডোমেন।
ডন দিলঙ্গা

14
ক্রোম ট্যাব প্রতি এই সীমা? বা Chrome এর একক দৃষ্টিতে সমস্ত ট্যাব? বা Chrome এর সমস্ত দৃষ্টান্ত জুড়ে সমস্ত ট্যাব?
এশডি

45

বিভিন্ন ব্রাউজারের হোস্টের নাম অনুসারে সর্বাধিক সংযোগের জন্য বিভিন্ন সীমা থাকে; আপনি http://www.browserscope.org/?category=network এ সঠিক সংখ্যাগুলি খুঁজে পেতে পারেন এবং ওয়েব পারফরম্যান্স বিশেষজ্ঞ স্টিভ সাউডার্স http://www.stevesouders.com/blog/2008/ এর সংযোগ সীমাবদ্ধতা সম্পর্কে একটি আকর্ষণীয় নিবন্ধ এখানে 03/20 / পরিক্রমা-অন-সমান্তরাল-সংযোগ /


14

ফায়ারফক্স এই নম্বরটি সেটিংটিতে সঞ্চয় করে (আপনি এটি খুঁজে পেয়েছেন about:config):network.http.max-connections-per-server

সর্বাধিক সংযোগগুলির জন্য, ফায়ারফক্স এই সেটিংসে সঞ্চয় করে: network.http.max-connections


network.http.max-connectionsডিফল্ট হিসাবে 900, যা সমান্তরাল সংযোগের সর্বাধিক সংখ্যার সাথে সম্পর্কিত নয় যা 52 সংস্করণের পরীক্ষার মাধ্যমে এখনও 17 টি।
ব্যবহারকারী 2867288

3
এটি network.http.max-persistent-connections-per-serverপ্রকৃতপক্ষে
লেচ ওসিওস্কি

9

কোনও পৃষ্ঠায় পরীক্ষা করা আমি এই আচরণটি দেখেছি:

Safari 4: 6  
Chrome 6: 7  
FF 4: 6

সম্পাদনা: দেখে মনে হচ্ছে যে ফায়ারফক্স 4 টি 15 টি সংযোগ করতে সক্ষম হবে তবে এটি আমি আচরণ করে নি behavior


ক্রোমের কোন সংস্করণ? 6 বা 5?
হুস্কি

আমি মনে করি এটি 6 ছিল তবে আমি দেব চ্যানেলে এসেছি এবং এটি কিছুক্ষণ আগে ছিল। নীরব আপডেটগুলির অর্থ আমাকে সর্বদা চেক করতে হবে।
জেথ্রো লারসন

5

2 সমবর্তী অনুরোধগুলি অনেকগুলি ব্রাউজারের ডিজাইনের একটি ইচ্ছাকৃত অংশ। সেখানে একটি স্ট্যান্ডার্ড আছে যে "ভাল HTTP ক্লায়েন্ট" উদ্দেশ্য অনুসারে মেনে চলে। পরীক্ষা করে দেখুন এই জন্য RFC কেন দেখতে।


আমি সম্মত, মানটি সম্ভবত অনুসরণ করা ভাল।
পালসুইম

13
নিম্নলিখিত মানগুলি ভাল, তবে সাধারণ জ্ঞান প্রয়োগ করা এবং সেগুলি সংশোধন করতে অংশ নেওয়া : দেখুন trac.tools.ietf.org/wg/httpbis/trac/ticket/131
জুলিয়ান রেজচকে

1
গুড পয়েন্ট @ জুলিয়ানআরশকে, তবে এইচটিটিপি / ২ দিয়ে এখন আর হোস্টের জন্য সংখ্যার উচ্চ সংখ্যার দরকার নেই। দেখুন: http2.github.io/faq/#why-just-one-tcp- সংযোগ
ডেভিড

5

এ খুঁজছি about:configজিএনইউ / লিনাক্স ফায়ারফক্স 33 (উবুন্টু), এবং অনুসন্ধানের connectionsআমি পাওয়া গেছে:

network.http.max- সংযোগগুলি: 256

এই অংশটির উত্তর দেওয়ার সম্ভাবনা রয়েছে যে সমস্ত ডোমেন জুড়ে ব্রাউজারে সক্রিয় সংযোগের সংখ্যার কোনও সীমা রয়েছে

network.http.max- স্থির-সংযোগ-প্রতি প্রক্সি: 32

network.http.max- স্থির-সংযোগ-প্রতি সার্ভার: 6

দুটি বৈশিষ্ট্য এড়ানো ...

नेटवर्क.websocket.max- সংযোগগুলি: 200

(আকর্ষণীয়, মনে হচ্ছে এগুলি সার্ভার প্রতি সীমাবদ্ধ নয় তবে গ্লোবাল HTTP সংযোগের তুলনায় একটি ডিফল্ট মান কম)


2

নোট করুন যে সার্ভারে ব্রাউজারের সর্বোচ্চ সংযোগগুলি অতিরিক্ত সংখ্যায় বাড়ানো (যেমন কিছু সাইটগুলি পরামর্শ দেয়) অন্য ব্যবহারকারীদের হোস্টিং পরিকল্পনা সহ ছোট সাইটগুলি থেকে লক করতে পারে যা সার্ভারে মোট যুগপত সংযোগ সীমাবদ্ধ করে।


2

আমার বোধগম্যতা হ'ল ক্লায়েন্টের পক্ষে সংযোগের সীমা পরিবর্তনযোগ্য নয়। কোনও প্রভাব পেতে সার্ভারে সংযোগ সীমা পরিবর্তন করতে হবে। ডিফল্টরূপে, অনেক সার্ভার কেবল অনন্য ক্লায়েন্টের জন্য 2 সংযোগের অনুমতি দেয়।

ক্লায়েন্ট ব্রাউজার নয়, এটি ক্লায়েন্ট মেশিন টিসিপি / আইপি অনুরোধ জারি করে।

প্রভাবটি খুব স্পষ্টভাবে দেখতে, আপনার সার্ভার হোস্টকে একগুচ্ছ ওয়েব পরিষেবা কল বন্ধ করতে জেমেটারের মতো কিছু ব্যবহার করুন - এটি প্রথম দুটি গ্রহণ করবে এবং দুজনের একটির কাজ শেষ না হওয়া পর্যন্ত অন্যটিকে গ্রহণ করবে না। এ সম্পর্কে আশ্চর্যজনক বিষয়টি হ'ল কোনও এসওএ শপের জন্য, এটি সমালোচনাযোগ্য, তবে সত্যিই খুব সম্ভবত কেউই এটি সম্পর্কে সচেতন।


1

এটির জন্য কোনও নির্দিষ্ট উত্তর নেই, কারণ প্রতিটি ব্রাউজারের এটির জন্য নিজস্ব কনফিগারেশন রয়েছে এবং এই কনফিগারেশনটি পরিবর্তন করা যেতে পারে। আপনি যদি ইন্টারনেটে অনুসন্ধান করেন তবে এই সীমাটি পরিবর্তন করার উপায়গুলি খুঁজে পেতে পারেন (সাধারণত এগুলি "পারফরম্যান্স বর্ধন পদ্ধতি" হিসাবে চিহ্নিত করা হয়) এটি আপনার ওয়েবসাইটের প্রয়োজন হলে আপনার ব্যবহারকারীদের এটি করার পরামর্শ দেওয়া উচিত।


আমি পুনরায় বলছি, এটি ব্রাউজারে কনফিগারযোগ্য নয় - বা এটি হতে পারে তবে তার পরেও কোনও প্রভাব পড়বে না। এটি এমন সার্ভার যা ক্লায়েন্টের প্রতি ক্লায়েন্ট বা ব্রাউজারকে নয়, প্রতি ক্লায়েন্টকে 2 সংযোগ প্রয়োগ করে। ব্রাউজারে সংযোগগুলি বাড়িয়ে দেওয়া আপনাকে আরও স্বতন্ত্র সার্ভারের সাথে 2 টি সংযোগ দেওয়ার অনুমতি দেবে (যেমন আপনি একবারে বেশ কয়েকটি সার্ভার থেকে ডাউনলোড করতে পারেন, কোনও সমস্যা নেই)। তবে আপনি একই সময়ে কোনও একক সার্ভার থেকে 2 টিরও বেশি ফাইল ডাউনলোড করতে পারবেন না। এটি করার জন্য, সার্ভারটি পরিবর্তন করতে হবে।
রডনি পি। বারবাতি

2
অনুমোদিত এই উত্তরটি পুরানো, তবে এটি যে সময়টি লেখা হয়েছিল ঠিক এটি সঠিক। প্রথমত, সার্ভারগুলি খুব কমই আইপি প্রতি সংযোগগুলি সীমাবদ্ধ করে, তাই আমি মনে করি যে আপনি সেখানে ভুল। দ্বিতীয়ত, ২০০৯ এ, আই 7 টি এখনও ছিল এবং এটিতে হোস্টের নাম অনুসারে সর্বাধিক দুটি সংযোগ ছিল। এটি সিস্টেম রেজিস্ট্রি মাধ্যমে কনফিগারযোগ্য ছিল। আজও, ব্রাউজারগুলির সীমাবদ্ধতা রয়েছে এবং সেগুলি প্রায়শই কনফিগার করা যায় তবে সেই সীমাগুলি তখনকার চেয়ে তাদের চেয়ে অনেক বেশি। যাইহোক, এসপিডিওয়াই / এইচটিটিপি 2 এর আবির্ভাবের সাথে সার্ভার এবং ব্রাউজারগুলি নতুন প্রোটোকল প্রয়োগ করে এটি একটি উল্লেখযোগ্যভাবে ছোট সমস্যা হয়ে দাঁড়িয়েছে।
Blixt

1
  1. হ্যাঁ, ওয়াইল্ডকার্ড ডোমেন আপনার পক্ষে কাজ করবে।
  2. সংযোগগুলির কোনও সীমা সম্পর্কে অবগত নয়। ব্রাউজার নির্দিষ্ট হবে কিনা সীমাবদ্ধতা।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.