সংক্ষেপে: আপনি লক্ষ লক্ষ একযোগে সক্রিয় টিসিপি সংযোগের ক্রম এবং এক্সটেনশান HTTP অনুরোধ (গুলি) দ্বারা অর্জন করতে সক্ষম হওয়া উচিত । এটি আপনাকে সঠিক কনফিগারেশন সহ সঠিক প্ল্যাটফর্মের সাথে সর্বাধিক পারফরম্যান্সের আশা করতে পারে tells
আজ, আমি চিন্তিত ছিলাম যে এসআইপি.এনইটি সহ আইআইএস 100 সমবর্তী সংযোগের ক্রমে সমর্থন করবে কিনা (আমার আপডেট দেখুন, পুরানো এএসপি.নেট মনো সংস্করণে প্রতি সেকেন্ডে 10 ডলার প্রতিক্রিয়া আশা করি)। আমি যখন এই প্রশ্ন / উত্তরগুলি দেখেছি তখন আমি নিজের উত্তর দেওয়া প্রতিহত করতে পারিনি, এখানে প্রশ্নের অনেক উত্তর সম্পূর্ণ ভুল।
সর্বোত্তম ঘটনা
এই প্রশ্নের উত্তরের জন্য কেবল অজস্র ভেরিয়েবল এবং কনফিগারেশনগুলি ডাউন স্ট্রিমের সম্ভাব্য কনফিগারেশনগুলি থেকে ডিকুয়াল করতে কেবল সহজ সার্ভার কনফিগারেশনের সাথে নিজেকে উদ্বেগ করতে হবে।
সুতরাং আমার উত্তরের জন্য নিম্নলিখিত পরিস্থিতিতে বিবেচনা করুন:
- টিসিপি সেশনে ট্র্যাফিক থাকবে না, রাখার জন্য প্যাকেট রাখুন (অন্যথায় আপনার স্পষ্টতই নেটওয়ার্ক ব্যান্ডউইথ এবং অন্যান্য কম্পিউটার সংস্থান প্রয়োজন)
- একটি পুলের অনুরোধ অনুযায়ী একটি হার্ডওয়্যার থ্রেডের চেয়ে অ্যাসিক্রোনাস সকেট এবং প্রোগ্রামিং ব্যবহার করার জন্য তৈরি সফ্টওয়্যার। (যেমন, আইআইএস, নোড.জেএস, এনগিনেক্স ... ওয়েবসভার [তবে অ্যাপাচি নয়] অ্যাসিঙ্ক ডিজাইন করা অ্যাপ্লিকেশন সফ্টওয়্যার সহ)
- ভাল পারফরম্যান্স / ডলার সিপিইউ / রাম। আজ, নির্বিচারে, 4 গিগাবাইট র্যাম সহ আই 7 (4 কোর) বলি।
- ম্যাচ করার জন্য একটি ভাল ফায়ারওয়াল / রাউটার।
- ভার্চুয়াল সীমা / গভর্নর নেই - যেমন। লিনাক্স সোমাক্সন, আইআইএস ওয়েবকনফিগ ...
- অন্যান্য ধীর হার্ডওয়্যারের উপর নির্ভরতা নেই - হার্ডডিস্ক থেকে কোনও পড়া নেই, কারণ এটি নেটওয়ার্ক আইও নয়, সর্বনিম্ন সাধারণ ডিনোমিনেটর এবং বাধা হবেন।
বিস্তারিত উত্তর
সিঙ্ক্রোনাস থ্রেড-বাউন্ড ডিজাইনগুলি অ্যাসিঙ্ক্রোনাস আইও বাস্তবায়নের তুলনায় সবচেয়ে খারাপ পারফর্ম করে 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 সেকেন্ডের নীচে। দ্রষ্টব্য, এই ফ্রেমওয়ার্কগুলির বেশিরভাগগুলি গতিশীল পৃষ্ঠাগুলির জন্য নির্মিত এবং বেশ পুরানো, এমন আরও নতুন রূপ থাকতে পারে যা তালিকায় উচ্চতর বৈশিষ্ট্যযুক্ত।
- মনে রাখবেন এটি এইচটিটিপি প্লেইন টেক্সট, ওয়েবসকেটের বিশেষত্বের জন্য নয়: এখানে আসা অনেক লোক সম্ভবত ওয়েবসকেটের সাম্প্রতিক সংযোগগুলিতে আগ্রহী হবে।