একটি ওয়েব সার্ভার হ্যান্ডেল করতে পারে কত সকেট সংযোগ?


114

বলুন আমি যদি ভাগ করে নেওয়া, ভার্চুয়াল বা ডেডিকেটেড হোস্টিংটি পেতে থাকি তবে আমি কোথাও পড়েছিলাম যে কোনও সার্ভার / মেশিন কেবলমাত্র এক সময় ,000৪,০০০ টিসিপি সংযোগগুলি পরিচালনা করতে পারে, এটি কি সত্য? ব্যান্ডউইথ নির্বিশেষে কতগুলি হোস্টিং হ্যান্ডেল পারে? আমি ধরে নিচ্ছি এইচটিটিপি টিসিপিতে কাজ করে।

এর অর্থ কি কেবলমাত্র ,000৪,০০০ ব্যবহারকারী ওয়েবসাইটটিতে সংযোগ করতে পারবেন এবং আমি যদি আরও পরিবেশন করতে চাই তবে আমাকে একটি ওয়েব ফার্মে যেতে হবে?


2
উত্তরদাতাদের কাছে ক্ষমাপ্রার্থী, আমি এই টর্নেডোর মতো ছড়িয়েছি ri আমার পছন্দ হিসাবে খুব সহজেই অনেক ভুল উত্তর ছিল, এবং এখনও সরাসরি কোন উত্তর। আমি প্রচুর স্ট্যাকওভারফ্লো ব্যবহার করি এবং অনেকগুলি উচ্চ মানের উত্তর খুঁজে পাই। আমি আশা করি যে অন্যরা এই থ্রেডটি খুঁজে পেতে এবং একটি দরকারী জ্ঞাত উত্তর খুঁজে পেতে সক্ষম হবেন।
টড

হাই ডেভিড, আপনি এই প্রশ্নের সঠিক উত্তর খুঁজে পেয়েছেন?
ডিশ

সার্ভারের একক আইপিতে 64000 টিসিপি সংযোগ connections আপনি স্কেল করার জন্য আপনার সার্ভারের নেটওয়ার্ক আপগ্রেড করুন এবং তুলনায় আরো 64000. সমর্থন করতে পারে না
বায়বীয়

উত্তর:


108

সংক্ষেপে: আপনি লক্ষ লক্ষ একযোগে সক্রিয় টিসিপি সংযোগের ক্রম এবং এক্সটেনশান HTTP অনুরোধ (গুলি) দ্বারা অর্জন করতে সক্ষম হওয়া উচিত । এটি আপনাকে সঠিক কনফিগারেশন সহ সঠিক প্ল্যাটফর্মের সাথে সর্বাধিক পারফরম্যান্সের আশা করতে পারে tells

আজ, আমি চিন্তিত ছিলাম যে এসআইপি.এনইটি সহ আইআইএস 100 সমবর্তী সংযোগের ক্রমে সমর্থন করবে কিনা (আমার আপডেট দেখুন, পুরানো এএসপি.নেট মনো সংস্করণে প্রতি সেকেন্ডে 10 ডলার প্রতিক্রিয়া আশা করি)। আমি যখন এই প্রশ্ন / উত্তরগুলি দেখেছি তখন আমি নিজের উত্তর দেওয়া প্রতিহত করতে পারিনি, এখানে প্রশ্নের অনেক উত্তর সম্পূর্ণ ভুল।

সর্বোত্তম ঘটনা

এই প্রশ্নের উত্তরের জন্য কেবল অজস্র ভেরিয়েবল এবং কনফিগারেশনগুলি ডাউন স্ট্রিমের সম্ভাব্য কনফিগারেশনগুলি থেকে ডিকুয়াল করতে কেবল সহজ সার্ভার কনফিগারেশনের সাথে নিজেকে উদ্বেগ করতে হবে।

সুতরাং আমার উত্তরের জন্য নিম্নলিখিত পরিস্থিতিতে বিবেচনা করুন:

  1. টিসিপি সেশনে ট্র্যাফিক থাকবে না, রাখার জন্য প্যাকেট রাখুন (অন্যথায় আপনার স্পষ্টতই নেটওয়ার্ক ব্যান্ডউইথ এবং অন্যান্য কম্পিউটার সংস্থান প্রয়োজন)
  2. একটি পুলের অনুরোধ অনুযায়ী একটি হার্ডওয়্যার থ্রেডের চেয়ে অ্যাসিক্রোনাস সকেট এবং প্রোগ্রামিং ব্যবহার করার জন্য তৈরি সফ্টওয়্যার। (যেমন, আইআইএস, নোড.জেএস, এনগিনেক্স ... ওয়েবসভার [তবে অ্যাপাচি নয়] অ্যাসিঙ্ক ডিজাইন করা অ্যাপ্লিকেশন সফ্টওয়্যার সহ)
  3. ভাল পারফরম্যান্স / ডলার সিপিইউ / রাম। আজ, নির্বিচারে, 4 গিগাবাইট র‌্যাম সহ আই 7 (4 কোর) বলি।
  4. ম্যাচ করার জন্য একটি ভাল ফায়ারওয়াল / রাউটার।
  5. ভার্চুয়াল সীমা / গভর্নর নেই - যেমন। লিনাক্স সোমাক্সন, আইআইএস ওয়েবকনফিগ ...
  6. অন্যান্য ধীর হার্ডওয়্যারের উপর নির্ভরতা নেই - হার্ডডিস্ক থেকে কোনও পড়া নেই, কারণ এটি নেটওয়ার্ক আইও নয়, সর্বনিম্ন সাধারণ ডিনোমিনেটর এবং বাধা হবেন।

বিস্তারিত উত্তর

সিঙ্ক্রোনাস থ্রেড-বাউন্ড ডিজাইনগুলি অ্যাসিঙ্ক্রোনাস আইও বাস্তবায়নের তুলনায় সবচেয়ে খারাপ পারফর্ম করে be

- অপারেটিং সিস্টেম মেশিন দান হোয়াটসঅ্যাপ একটি একক ইউনিক্স উপর ট্র্যাফিকের সাথে একটি মিলিয়ন পেতে https://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

এবং অবশেষে, এই এক, http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-thekerker-i.html , অনেক বিশদে চলে গেছে , কীভাবে কীভাবে 10 মিলিয়ন অর্জন করা যায় তা অন্বেষণ করা। সার্ভারগুলিতে প্রায়শই হার্ডওয়্যার টিসিপি অফলোড ইঞ্জিন থাকে, সাধারণ উদ্দেশ্যে সিপিইউর চেয়ে আরও দক্ষতার সাথে এই নির্দিষ্ট ভূমিকার জন্য ডিজাইন করা ASIC গুলি।

ভাল সফ্টওয়্যার নকশা পছন্দ

অপারেটিং সিস্টেম এবং প্রোগ্রামিং প্ল্যাটফর্মগুলিতে অ্যাসিঙ্ক্রোনাস আইও ডিজাইন পৃথক হবে। Node.js সঙ্গে পরিকল্পনা করা হয়েছিল অ্যাসিঙ্ক্রোনাস মনে। আপনি অন্তত অঙ্গীকার ব্যবহার করা উচিত, এবং যখন এর নাম ECMAScript 7 বরাবর আসে, async/ await। সি # /। নেট ইতিমধ্যে নোড.জেএস এর মতো সম্পূর্ণ অ্যাসিনক্রোনাস সমর্থন রয়েছে Net ওএস এবং প্ল্যাটফর্ম যাই হোক না কেন, অ্যাসিঙ্ক্রোনাসের খুব ভাল পারফর্ম করার আশা করা উচিত। এবং আপনি যে ভাষা চয়ন করুন না কেন, "অ্যাসিনক্রোনাস" কীওয়ার্ডটি সন্ধান করুন, বেশিরভাগ আধুনিক ভাষায় কিছুটা সমর্থন থাকবে, এমনকি এটি কোনও ধরণের অ্যাড-অন হলেও if

ওয়েবফর্মকে?

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

একটি পৌরাণিক কাহিনী - 64 কে পোর্ট

",000৪,০০০" সম্পর্কিত প্রশ্নের উপাদানটির সমাধান করার জন্য, এটি একটি ভুল ধারণা। একটি সার্ভার 65535 এরও বেশি ক্লায়েন্টের সাথে সংযোগ করতে পারে। Https://networkengineering.stackexchange.com/questions/48283/is-a-tcp-server- મર્યાદા- to- 65535- clients/48284 দেখুন

যাইহোক, উইন্ডোজের এইচটিপি.সিএস এইচটিটিপি ইউআরএল স্কিমার অধীনে একই সার্ভার পোর্টটি ভাগ করার জন্য একাধিক অ্যাপ্লিকেশনকে অনুমতি দেয়। তারা প্রত্যেকে পৃথক ডোমেন বাধ্যতামূলকভাবে নিবন্ধভুক্ত করে, তবে শেষ পর্যন্ত একটি একক সার্ভার অ্যাপ্লিকেশন রয়েছে যা সঠিক অ্যাপ্লিকেশনগুলিতে অনুরোধগুলি প্রক্স করে।

2019-05-30 আপডেট করুন

এখানে দ্রুততম এইচটিটিপি লাইব্রেরিগুলির একটি আধুনিক তুলনা রয়েছে - https://www.techempower.com/benchmark/#section=data-r16&hw=ph&test=plaintext

  • পরীক্ষার তারিখ: 2018-06-06
  • হার্ডওয়্যার ব্যবহার করা হয়েছে: ডেল আর ৪৪০ জিওন গোল্ড + 10 জিবিই
  • নেতার কাছে প্রতি সেকেন্ডে M 7M ডান প্লেইনেক্সট রেসপন্স রয়েছে (প্রতিক্রিয়াগুলি সংযোগ নয়)
  • গোলংয়ের দ্বিতীয় ফ্যাসথটিপি 1.5 মিটার একযোগে সংযোগগুলির বিজ্ঞাপন দেয় - https://github.com/valyala/fasthttp দেখুন
  • শীর্ষস্থানীয় ভাষাগুলি হ'ল মরিচা, গো, সি ++, জাভা, সি এবং এমনকি সি # র‌্যাঙ্ক 11 (প্রতি সেকেন্ডে 6.9 এম)। স্কলা এবং ক্লোজুর র‌্যাঙ্ক আরও নীচে। পাইথন প্রতি সেকেন্ডে ২.7 এম এ 29 তম স্থানে রয়েছে।
  • তালিকার নীচে আমি লারাভেল এবং কেকএফপি, রেলস, এস্পনেট-মনো-এনজিএক্স, সিমফনি, জেন্ড নোট করি। সমস্ত 10 সেকেন্ডের নীচে। দ্রষ্টব্য, এই ফ্রেমওয়ার্কগুলির বেশিরভাগগুলি গতিশীল পৃষ্ঠাগুলির জন্য নির্মিত এবং বেশ পুরানো, এমন আরও নতুন রূপ থাকতে পারে যা তালিকায় উচ্চতর বৈশিষ্ট্যযুক্ত।
  • মনে রাখবেন এটি এইচটিটিপি প্লেইন টেক্সট, ওয়েবসকেটের বিশেষত্বের জন্য নয়: এখানে আসা অনেক লোক সম্ভবত ওয়েবসকেটের সাম্প্রতিক সংযোগগুলিতে আগ্রহী হবে।

2
লোকেরা কীভাবে এটি করছে সে সম্পর্কে কথা বলার জন্য লিঙ্কগুলি অন্তর্ভুক্ত করার জন্য ধন্যবাদ।
রিক স্মিথ

একক সার্ভারের সাথে সংযুক্ত ক্লায়েন্টটি নিচে চলে গেলে কী হবে? এবং যদি আপনার সমস্ত এসপিএ এলোমেলোভাবে একটি সার্ভারের সাথে সংযুক্ত হয়ে থাকে এবং এটি ওভারলোড হয়? লোডবালান্সার ব্যবহারের ধারণাটি কেবল 1 টি ব্যবহার করে নয় আপনি নিজের পছন্দ মতো অনেকগুলি ব্যবহার করতে পারেন
pyros2097

3
ক্লায়েন্টরা এলোমেলোভাবে একটি সার্ভার নির্বাচন করবে। সকলের সাথে এলোমেলোভাবে সংযুক্ত হওয়ার সম্ভাবনা কার্যত অসম্ভব। যদিও একজন ক্লায়েন্ট গণনা অনুসরণ করতে পারে এবং অতিরিক্ত ভিড় থাকলে সার্ভার কোনও ক্লায়েন্টকে অন্য সার্ভারে যেতে অনুরোধ করতে পারে।
টড

1
পুনরায়: K৪ কে সীমাবদ্ধতা - আপনি যা বলছেন তা সত্য, তবে কোনও সার্ভার অ্যাপ্লিকেশনটির জন্য কিছু ব্যাকএন্ড পরিষেবা (গুলি) -এর মাধ্যমে প্রক্সি অনুরোধ করা মোটামুটি সাধারণ, এই ক্ষেত্রে "সার্ভার" এখন "ক্লায়েন্ট" হয়ে ওঠে এবং সম্ভবত এটিরও থাকতে পারে ইফেমেরাল পোর্ট ক্লান্তি সম্পর্কে উদ্বিগ্ন হওয়ার জন্য (উদাঃ: এনজিন্স.কম / ব্লগ / ওভারকামিং-ফেফেরাল- পোর্ট- এক্সহসশন-nginx-plus )। আমি নিশ্চিত আপনি কি জানেন যে, কিন্তু অন্যরা তা উল্লেখ (আছি:
jwd

@jwd ভালো পয়েন্ট, একটি ওয়েব অ্যাপ্লিকেশনে এনজিনেক্সের জন্য প্রাসঙ্গিক, তবে একটি বেসিক ওয়েব সাইটের জন্য, এই জাতীয় প্রক্সিংয়ের প্রয়োজন হবে না। এটি একটি ওয়েব অ্যাপ্লিকেশন দ্বারা টিসিপির মাধ্যমে একটি ডাটাবেসের মাধ্যমে সংযোগ করার বিষয়েও বলা যেতে পারে। তত্ত্বগতভাবে, 127। *। *। * সীমাতে সমস্ত ঠিকানা ব্যবহার করে এটি সমাধান করা হয়েছে, তবে বাস্তবে আমি জানি না এটি কোনও উপলভ্য বিকল্প কিনা।
টড

54

এই প্রশ্নটি মোটামুটি কঠিন একটি প্রশ্ন। কোনও মেশিনের যে পরিমাণ সক্রিয় সংযোগ থাকতে পারে তার সংখ্যার উপর কোনও আসল সফ্টওয়্যার সীমাবদ্ধতা নেই, যদিও কিছু ওএস অন্যদের চেয়ে বেশি সীমিত। সমস্যা এক অন্যতম উত্স হয়ে যায়। উদাহরণস্বরূপ, ধরা যাক যে একটি একক মেশিন 64,000 যুগপত সংযোগগুলি সমর্থন করতে চায়। সার্ভারটি যদি সংযোগ প্রতি 1MB র‌্যাম ব্যবহার করে তবে এর জন্য GB৪ জিবি র‌্যামের দরকার পড়ে। যদি প্রতিটি ক্লায়েন্টকে কোনও ফাইল পড়ার প্রয়োজন হয়, ডিস্ক বা স্টোরেজ অ্যারে অ্যাক্সেস লোড devices ডিভাইসগুলি পরিচালনা করতে পারে তার চেয়ে অনেক বড় হয়ে যায়। যদি কোনও সার্ভারের প্রতি সংযোগের জন্য একটি প্রক্রিয়া কাঁটাচামচ করা দরকার তবে সিপিইউ সময়ের জন্য ওএস তার বেশিরভাগ সময় প্রসঙ্গে স্যুইচিং বা অনাহার প্রক্রিয়ায় ব্যয় করবে।

C10K সমস্যা পৃষ্ঠাটি এই সংখ্যার একটি খুব ভাল আলোচনা হয়েছে।


3
কিছুটা মিশ্র উত্তর। ওপি একটি সেরা কেস দৃশ্যের উল্লেখ করে, এবং কীভাবে উপকারী হবে তার মধ্যে সবচেয়ে খারাপ পরিস্থিতি খুঁজে বের করার পরিবর্তে এবং তার সমাধান থাকতে পারে এমন একটি নিবন্ধের উল্লেখ করে বলে মনে হচ্ছে। লক্ষণীয় ডিস্কের বাধা কার্যকর। অ্যাসিঙ্ক্রোনাস আইও ব্যবহার করে খুব বেশি পরিমাণে একসাথে ক্লায়েন্ট পৌঁছে যেতে পারে।
টড

আপনি কীভাবে বলতে পারেন যে পোর্টের আকারটি 16 বিট হওয়ায় কোনও বাস্তব সফ্টওয়্যার সীমাবদ্ধতা নেই যা সর্বোচ্চ 65.5 কে-তে কোনও তাত্ক্ষণিক সময়ে কোনও পোর্ট উপলব্ধ করে না। আমি বিশ্বাস করি আপনার উত্তরটি ভুল।
आनंद

আপনার মেশিনে 1 টিরও বেশি আইপি থাকতে পারে তাই 2 ^ 16 টিরও বেশি পোর্ট উপলব্ধ।
আরমান আরদোখানি

8

কথোপকথনে আমার দুটি সেন্ট যুক্ত করার জন্য একটি প্রক্রিয়া একই সাথে এই সংখ্যার সমান সংযুক্ত সংখ্যক সকেট খুলতে পারে (লিনাক্স টাইপ সিটেমগুলিতে) / proc / sys / নেট / কোর / somaxconn

বিড়াল / proc / sys / নেট / কোর / somaxconn

এই নম্বরটি ফ্লাইতে সংশোধন করা যেতে পারে (কেবলমাত্র রুট ব্যবহারকারী দ্বারা)

প্রতিধ্বনি 1024> / proc / sys / নেট / কোর / somaxconn

তবে সম্পূর্ণরূপে সার্ভার প্রক্রিয়া, মেশিন এবং নেটওয়ার্কের হার্ডওয়্যার, সিস্টেমটি বিধ্বস্ত হওয়ার আগে সংযুক্ত হওয়া সকেটের আসল সংখ্যা নির্ভর করে


1
যদিও সম্ভবত লিনাক্সের ক্ষেত্রে সত্য, এটি ভার্চুয়াল সীমাটিকে বোঝায়, সম্ভাবনার মানদণ্ড নয়। এই উত্তরটি আমার পছন্দ অনুসারে কিছুটা সুনির্দিষ্ট, এবং সমবর্তী সংযোগগুলির সংখ্যার কোনও সংখ্যা বা ইঙ্গিত দেয় না। আপনার প্রচেষ্টা সত্ত্বেও, এটি খুব দরকারী নয়। হতে পারে আপনি একটি প্রশ্নের নিজের জবাব দিতে পারেন: "কেন আমি লিনাক্সে এক্স সমবর্তী টিসিপি সংযোগের চেয়ে বেশি সার্ভার করতে পারি না"
টড

2
আমি যতদূর বলতে পারি এটি ভুল । somaxconn একটি খোলা সকেট উপর সারিবদ্ধ সংযোগের সর্বোচ্চ সংখ্যক (অর্থাত এটি ব্যাকলগ প্যারামিটারের সর্বাধিক মান listen(int socket, int backlog)এটা সকেট সংখ্যা এর সাথে সম্পর্কিত নয় এমন একটি প্রক্রিয়া খোলা থাকতে
Timmmm

8

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

(আপনার একাধিক ক্লায়েন্ট চালানো দরকার অন্যথায় আপনি প্রথমে পোর্ট সংখ্যায় K৪ কে সীমাবদ্ধ করেছেন)

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

এখানে একটি নিরেট বক্স সম্মুখের 2 মিলিয়ন TCP সংযোগগুলির (128 গিগাবাইট র্যাম এবং 40 কোর) ফিনিক্স চলমান সঙ্গে একটি উদাহরণ http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections - তারা শেষ পর্যন্ত কেবল ক্লায়েন্টের লোড সরবরাহের জন্য 50 বা তত যুক্তিসঙ্গতভাবে উল্লেখযোগ্য সার্ভারের প্রয়োজন (তাদের প্রাথমিক ছোট ক্লায়েন্টগুলি প্রথম দিকে সীমাবদ্ধ করেছে, যেমন "450k ক্লায়েন্ট @ 450k ক্লায়েন্টকে আমাদের ম্যাক্সড করেছে")।

এবার 10 মিলিয়নে যাওয়ার জন্য এখানে আরেকটি রেফারেন্স দেওয়া হয়েছে: http://goroutines.com/10m

এটি জাভা ভিত্তিক এবং 12 মিলিয়ন সংযোগ হিসাবে উপস্থিত বলে মনে হচ্ছে: https://mrotaru.wordpress.com/2013/06/20/12-million-concurrent-connections-with-migrationdata-websocket-server/


প্রশ্নের সঠিক বোঝার সাথে দুর্দান্ত নতুন লিঙ্কগুলি। আমি হিট-বাধা -> ফিক্স বাধা জন্য সাধারণ পরামর্শ পছন্দ করি। প্রত্যেকের আলাদা আলাদা নির্দিষ্ট পরিস্থিতি থাকে তবে অর্থনৈতিক / ব্যবহারিকভাবে কী অর্জনযোগ্য তা কমপক্ষে তাদের এখানে একটি ইঙ্গিত রয়েছে। শীঘ্রই কোনও সার্ভারের জন্য কোনও গ্রাহকের 100 মিলিয়ন প্রতিশ্রুতি দেওয়া উচিত নয়।
টড

5

নোট করুন যে HTTP টিসিপি সংযোগগুলি সাধারণত ক্লায়েন্টে পৃষ্ঠা সঞ্চারিত করার চেয়ে বেশি সময় ধরে খোলা রাখে না; এবং পৃষ্ঠাটি ডাউনলোড করার চেয়ে ব্যবহারকারীকে ওয়েব পৃষ্ঠাগুলি পড়তে সাধারণত অনেক বেশি সময় লাগে ... ব্যবহারকারী পৃষ্ঠাটি দেখার সময় তিনি সার্ভারে কোনও লোড যুক্ত করেন না।

সুতরাং একসাথে আপনার ওয়েব সাইটটি দেখতে পারে এমন লোকের সংখ্যা এটি একই সাথে পরিবেশন করতে পারে এমন টিসিপি সংযোগের সংখ্যার চেয়ে অনেক বড়।


12
এটি প্রশ্নের কোনও উত্তর দেয় না। আপনি যা বলেছেন তার যথার্থতা নির্বিশেষে, একটি নির্দিষ্ট সময়ে এখনও অনেকগুলি সমবর্তী টিসিপি সংযোগ থাকবে, সর্বোচ্চ কত? এটাই প্রশ্নের সারমর্ম।
টড

3
টড, আপনার অবদানের জন্য যদি কিছু উপকারী হয় তবে তা সর্বদা এগিয়ে যান এবং তা করুন।
জেরেমি ফ্রাইজনার

8
আমার 28 ই মার্চ ইতিমধ্যে একটি উত্তর ছিল, আপনি অবশ্যই এটি মিস করেছেন। দীর্ঘ ভোটদান এবং ওয়েব-সকেট সংযোগ সহ একক পৃষ্ঠা অ্যাপ্লিকেশনগুলির আধুনিক বিশ্বে, এইচটিটিপি সর্বদা শর্টলিভ হয় না। এমনকি যদি এটি সংক্ষিপ্ত হয় তবে এখনও সর্বাধিক সংমিশ্রণ সংযোগ রয়েছে। প্রশ্নটি দূরে ব্যাখ্যা করার চেষ্টা করা কোনও অ্যাওয়ার্ড আইএমও নয়। এই উত্তরটি প্রশ্নের একটি মন্তব্য হিসাবে আরও ভালভাবে স্থাপন করা হবে, এটি অবশ্যই কার্যকর, তবে প্রশ্নটি "লোক" নয়, "সকেট সংযোগ" সম্পর্কিত। অনুপাতের বিষয়ে একটি প্রশ্ন (ব্যবহারকারী: সক্রিয় সংযোগগুলি) চাইলে পৃথক প্রশ্ন হওয়া উচিত।
টড

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

1

আইপিভি 4 প্রোটোকলের ক্ষেত্রে, কেবলমাত্র একটি পোর্টে শোনার জন্য একটি আইপি ঠিকানা সহ সার্ভারটি 2 ^ 32 আইপি অ্যাড্রেসগুলিতে 2 2 so 16 পোর্ট যাতে 2 ^ 48 অনন্য সকেট পরিচালনা করতে পারে। যদি আপনি কোনও সার্ভারের বিষয়ে কোনও শারীরিক মেশিন হিসাবে কথা বলেন এবং আপনি সমস্ত 2 ^ 16 বন্দর ব্যবহার করতে সক্ষম হন তবে এক আইপি ঠিকানার জন্য সর্বাধিক 2 ^ 48 x 2 ^ 16 = 2 ^ 64 টি ইউএসপি / আইপি সকেট থাকতে পারে। দয়া করে মনে রাখবেন যে কয়েকটি বন্দরগুলি ওএসের জন্য সংরক্ষিত রয়েছে, সুতরাং এই সংখ্যাটি কম হবে। সংক্ষেপে:

1 আইপি এবং 1 পোর্ট -> 2 ^ 48 সকেট

1 আইপি এবং সমস্ত পোর্ট -> 2 ^ 64 সকেট

মহাবিশ্বের সমস্ত অনন্য আইপিভি 4 সকেট -> 2 ^ 96 সকেট


0

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

অন্যটি আপনার সার্ভারে কয়টি পোর্ট শুনতে পাবে? আমি বিশ্বাস করি এখান থেকেই K৪ কে নম্বর এসেছে। প্রকৃতপক্ষে, টিসিপি প্রোটোকল একটি বন্দরের জন্য একটি 16-বিট সনাক্তকারী ব্যবহার করে, যা 65536 (64 কে এর চেয়ে কিছুটা বেশি) অনুবাদ করে। এর অর্থ হ'ল প্রতি আইপি ঠিকানায় সার্ভারে আপনার অনেকগুলি "শ্রোতা" থাকতে পারে।


আপনার সুবিধার জন্য আমি আপনার ভুল ধারণাটি সমাধান করে আমার উত্তরে একটি অতিরিক্ত বিভাগ যুক্ত করেছি। এছাড়াও এই প্রশ্নটি "সকেট সংযোগগুলি" "লোক" নয়, যা এই প্রশ্নের প্রসঙ্গে একটি গুরুত্বপূর্ণ পার্থক্য সম্পর্কিত।
টড

যদি আমরা একটি একক সার্ভার মেশিন এবং একটি একক রাউটার সম্পর্কে কথা বলি তবে আমার মনে হয় এই উত্তরটি সঠিক। তবে @ টড সার্ভার মেশিনগুলির একটি খামার সম্পর্কে নিচ্ছে, যা ব্যবহারকারী লোড ব্যালান্সারের মাধ্যমে এগুলির যেকোন সাথে এলোমেলোভাবে সংযোগ করতে পারেন।
আমর

@ আমর এটি ভুল। আমার উত্তরটি একটি একক মেশিন সম্পর্কে। "ওয়েবফর্ম?" অধ্যায়টি অতিক্রম করার জন্য বিপরীতে পরামর্শ এবং পরামর্শের জন্য রয়েছে এবং এই সিদ্ধান্তে পৌঁছেছে যে ভাল আর্কিটেকচারের সাথে লোড ব্যালান্সারগুলি প্রয়োজনীয় নয়। আপনি আমার উত্তরটি এখনও পুরোপুরি পড়েন নি।
টড

0

আমি মনে করি যে কোনও ওয়েব সার্ভার হ্যান্ডল করতে পারে এমন সমকালীন সকেট সংযোগের সংখ্যা প্রতিটি সংযোগটি কতগুলি সংস্থান গ্রহণ করে এবং অন্য কোনও ওয়েব সার্ভার রিসোর্সকে সীমিত কনফিগারেশন ব্যতীত সার্ভারে উপলব্ধ মোট সংস্থান পরিমাণের উপর নির্ভর করে।

উদাহরণস্বরূপ, যদি প্রতিটি সকেট সংযোগটি 1MB সার্ভার রিসোর্স গ্রহণ করে এবং সার্ভারটিতে 16GB র্যাম উপলব্ধ রয়েছে (তাত্ত্বিকভাবে) এর অর্থ এটি কেবলমাত্র (16GB / 1MB) একযোগে সংযোগগুলি পরিচালনা করতে সক্ষম হবে। আমি মনে করি এটি এতটা সহজ ... সত্যিই!

ওয়েব সার্ভার সংযোগগুলি কীভাবে পরিচালনা করে তা নির্বিশেষে প্রতিটি সংযোগ শেষ পর্যন্ত কিছু সংস্থান গ্রহণ করবে।

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