ইউনিক্স সকেট বনাম টিসিপি / আইপি হোস্ট: পোর্ট


42

কোনও সার্ভারে সার্ভিস স্থাপনের সময় (উবুন্টু, এফডাব্লুআইডাব্লু) ইউনিক্স সকেট ফাইল বনাম একটি টিসিপি / আইপি লোকালহোস্ট: পোর্ট ব্যবহারের পক্ষে কি আমার পক্ষে দয়া করে বর্ণনা করতে পারেন?

এই বিশেষ উদাহরণে এটি পাইথন ডাব্লুএসজিআই সার্ভারের জন্য (ইউডাব্লুএসজিআই) তবে আমি কেবল সাধারণভাবে আগ্রহী (যেমন, আমি জানি আপনি উভয় উপায়ে মাইএসকিউএল সেটআপ করতে পারেন)।

আমি বুঝতে পেরেছি যে টিসিপি / আইপি ব্যবহারের অর্থ এই পরিষেবাগুলি অন্যান্য মেশিনের কাছে প্রকাশ করা যেতে পারে তবে আমি স্থানীয়ভাবে পরিষেবাগুলি অ্যাক্সেস করার সময় কোনও কার্যকারিতা ট্রেডঅফ রয়েছে কিনা তা নিয়ে আমি আগ্রহী।

চিয়ার্স।


1
উজ্জ্বল উত্তর এবং সত্যিই দরকারী উভয় - আপনাকে ধন্যবাদ! :)
লুডো

উত্তর:


40

আপনার টিসিপি-ওভারহেড না থাকায় ইউনিক্স সকেটগুলি খানিকটা দ্রুত faster আপনি যদি বুঝতে পারছেন যে এই কর্মক্ষমতা হ্রাস হ'ল সার্ভার লোডের একটি প্রশ্ন। আপনার যদি খুব বেশি সার্ভার লোড না থাকে আপনি এটি সনাক্ত করতে পারবেন না।

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

আপনার সিস্টেমটি ভারী বোঝার মধ্যে রয়েছে কিনা তা খুঁজে বের করতে হবে যাতে একটি সকেট আবশ্যক বা আপনি একটি সুন্দর সিস্টেম ডিজাইনে (পরিষেবাগুলি পৃথকীকরণ) ফোকাস করতে পারেন, তবে একটি টিসিপি / আইপি সমাধান আরও ভাল হবে।

সুতরাং একটি দীর্ঘ উত্তর সংক্ষিপ্ত করুন:

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


3
পুন: সকেট দ্রুত ... তারা উভয় সকেট না?
বার্ট সিলভারস্ট্রিম

4
@ বার্ট সিলভারস্ট্রিম: না, সকেটগুলি সকেট; টিসিপির একটি সকেটের মতো এপিআই রয়েছে
জাভিয়ার

7
আমি বিশ্বাস করি তাদের "ইউনিক্স সকেট" এবং "ইন্টারনেট সকেট" বলা হয়। ( socket(AF_INET, SOCK_STREAM, ...))
মাধ্যাকর্ষণ

1
আমি কেবল পিএইচপি-মাইএসকিএল (ইউনিক্স বনাম টিসিপি-সকেট, উভয় লোকালহোস্ট) দিয়ে কয়েকটি মাইএসকিএল-ক্যোয়ারী পরীক্ষা করেছি। উদাহরণস্বরূপ, পরিবহনবিহীন কারণগুলি নির্মূল করতে "এসকিউএল_এনও_সিএইচইইইচইই 1 নির্বাচন করুন"। পরিমাপযোগ্য কোন পার্থক্য ছিল না। দু'জনের গড়ে 0.25 এমএস ছিল, দু'জনের জন্য সেরা সময় ছিল 0.19 এমএস।
জেনস

11

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

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

আপনি যদি খাঁটি চূড়ান্ত পারফরম্যান্স সমাধানের সন্ধান করে থাকেন তবে আপনি একটি ভাগ করা মেমরি আইপিসি অন্বেষণ করতে পারেন। তবে, এটি কিছুটা জটিল।


3

ইউনিক্স ডোমেন সকেটের প্রো।

  1. ইউনিট ব্যবহারকারী অনুমতি সিস্টেমের মাধ্যমে অ্যাক্সেস পরিচালনা করা যেতে পারে হয় সকেটে নিজেই অনুমতিগুলি সেট করে অথবা সার্ভারের মাধ্যমে সংযোগকারী ক্লায়েন্টের ব্যবহারকারীর নামটি পড়ে।
  2. অজান্তেই সকেটকে বাইরের বিশ্বে প্রকাশ করার কম সম্ভাবনা। উদাহরণস্বরূপ, যদি সার্ভারটি একটি ওয়েব প্রক্সিও চালায় তবে অজানাভাবে লোকালহোস্টের সকেটে সংযোগের অনুমতি দিতে পারে।

ইউনিক্স ডোমেন সকেটগুলির কনস

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