পিং থেকে প্রাপ্ত ডেটা: এটি রাউন্ড ট্রিপ বা একতরফা?


28

আমার 2 টি সার্ভার রয়েছে, প্রতিটি দুটি পৃথক স্থানে। আমার একটিতে একটি অ্যাপ্লিকেশন এবং অন্যটিতে ডাটাবেস সার্ভার হোস্ট করা দরকার।

অ্যাপ্লিকেশন সার্ভার থেকে, যদি আমি ডাটাবেস সার্ভারটি পিন করি তবে আমি প্রায় 30 মিমি পাই।

আমার প্রশ্নটি হ'ল:

When I query the database from the app;

এটা নিতে যাচ্ছে 30 ms + database_server_query_run_time

অথবা;

এটি কি + 30 মিমি নিতে চলেছে?30 ms + database_server_query_run_time

আমি দয়া করে এটি বুঝতে চাই।

উত্তর:


24

এটি সাধারণত সেই দুটি বিকল্পের চেয়ে বেশি সময় নেবে।

পিং ক্লায়েন্ট, সার্ভার এবং ঠিক আবার ফিরে যাওয়ার ব্যবস্থা করে (আরটিটি - রাউন্ড ট্রিপ সময়)

সাধারণত ডাটাবেসগুলি টিসিপি ব্যবহার করে, তাই আপনাকে প্রথমে টিসিপি হ্যান্ডশেক শুরু করার জন্য একটি এসওয়াইএন প্যাকেট প্রেরণ করতে হবে (সহজ করার জন্য 15 মিমি * + সিপিইউ সময় বলি, তারপরে আপনি রিসিভ এবং এসওয়াইএন / এসি কে (15 মিমি + সিপিইউ সময়), একটি এসকে এবং একটি প্রেরণ প্রেরণ করুন অনুরোধ (অন্ততপক্ষে 15 মিমি + সিপিইউ সময়), তারপরে ডিবি-এর ক্যোয়ারী প্রক্রিয়া করার সময় এবং তারপরে ডেটা ফিরে পাওয়ার সময় (15 মিমি + সিপিইউ) এবং আরও কিছুটা এসিসি করার জন্য এবং সংযোগটি বন্ধ করুন।

এটি অবশ্যই ডাটাবেসে প্রমাণীকরণ (ব্যবহারকারীর নাম / পাসওয়ার্ড) গণনা করছে না এবং কোনও এনক্রিপশন (এসএসএল হ্যান্ডশেক / ডিএইচ বা যা প্রয়োজন তা নয়)।

* রাউন্ড ভ্রমণের অর্ধেক সময় ধরে এবং সেখানকার রুটটি প্রতিসাম্য ধরে রেখেছেন (সেখানে যাওয়ার অর্ধেক সময়, এবং অর্ধেক ফিরে আসার জন্য ... পিপিং জবাবের জন্য সিপিইউ প্রসেসিং সময় খুব কম)


অবিচ্ছিন্ন টিসিপি সেশনগুলির সাথে ত্রি-মুখী হ্যান্ডশেকের সমস্যা দেখা দিতে পারে।
মিচুয়েলনিক

@ মিচুয়েলনিক, আপনি দয়া করে বিস্তারিত বলতে পারেন? আমি সত্যিই এই পুরো জিনিসটি বুঝতে এবং ডিবিকে জিজ্ঞাসা করার জন্য বিলম্বতা হ্রাস করার সর্বোত্তম উপায়টি খুঁজে পেতে চাই।
ফিল

2
দুঃখের বিষয়, বেশিরভাগ সফ্টওয়্যার (ন্যূনতম ওয়েব অ্যাপ্লিকেশনগুলি) এটি সমর্থন করে না: / তবে ধারণাটি হ'ল ডিবি-তে সংযোগ স্থাপন করা (একবার) সংযোগ স্থাপন করা এবং সংযোগটি চালু রাখা (উন্মুক্ত) রাখা এবং একাধিক প্রশ্ন অনুসন্ধান করা / একের জন্য উত্তর পাওয়া, ক্রমাগত খোলা সংযোগ। এটি প্রতিবার টিসিপি হ্যান্ডশেক, প্রমাণীকরণ ইত্যাদির প্রয়োজনকে দূর করে।
মুলাজ

মুলাজ, ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ। আমি পাইথনের সাথে কাজ করব তাই আমরা দেখব কীভাবে এটি হয়। ;-)
ফিলি

অনুরোধের আকার এবং উত্তরটি ভুলে যাবেন না। উদাহরণস্বরূপ, একটি 1 এমবি / সেকেন্ডের লিঙ্কের উপরে, 100 কেবি পে-লোড পরিবহনে অতিরিক্ত 100 মিমি লাগবে।
ডাস্টিন বসওয়েল

7

পিং সময় রাউন্ড ট্রিপ হয়। যদি আপনি এটির বিষয়ে চিন্তা করেন - এটি কীভাবে একমুখী সময়কে মাপতে পারে? সুতরাং এটি 30 মিমি প্লাস ক্যোয়ারির সময় লাগবে।


1
আমি কেবল যুক্ত করব যা সম্ভবত 30 সেকেন্ড + ক্যোরিয়াম সময়ের চেয়ে কিছুটা বেশি সময় নিতে পারে। যেহেতু পিং আইসিএমপি এবং আপনার ডিবি সংযোগ টিসিপি, তাই আপনার সেখানে সেটআপ / হ্যান্ডশেক এবং ডিবি সংযোগ দীক্ষা ইত্যাদিও থাকবে
দুন

@ ডুন: অবিচ্ছিন্ন টিসিপি / ডাটাবেস সংযোগ দিয়ে যা "এড়ানো" হতে পারে
মিশুয়েলিক

@ মিশুয়েলিক, আপনি কি মনে করেন যে অবিচ্ছিন্ন ডিবি সংযোগটি এখানে যাওয়ার উপায়? এটি কি আরও কিছু সমস্যা সৃষ্টি করবে?
ফিল

@ মিচুয়েলনিক অবশ্যই। এটি কেবল নির্দেশ করছিল এটি আরটিটি + ক্যোয়ারির মতো সহজ নয়। বিলম্বতার কারণে সেশন প্রতি সর্বাধিক গতির সীমাবদ্ধতা ইত্যাদি রয়েছে))
দুন

@ ফিল ফিল্ড বেশিরভাগ ক্ষেত্রে এটি নিয়মিত ডিবি সংযোগগুলি উপকারী, যদি আপনি একাধিক অনুসন্ধান করছেন। যদি প্রশ্নগুলি ছড়িয়ে পড়ে / ছড়িয়ে ছিটিয়ে থাকে তবে আপনি অকারণে সংস্থানগুলি সংযুক্ত করে চলেছেন, তবে যদি সবসময় প্রশ্ন আসে, ইত্যাদি। আপনি প্রতিটি অনুরোধে একটি নতুন খোলার বিরোধিতা হিসাবে বিদ্যমান সংযোগটি পুনরায় ব্যবহার করে আপনি একটি অতিমাত্রায় ওভারহেড সংরক্ষণ করবেন।
দুনে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.