আমি নিজে এটি করার চেষ্টা করছিলাম এবং এটি নিয়ে এসেছি। সম্ভবত একটি সহজ উপায় আছে, কিন্তু আমি এটি নিয়ে এসেছি।
প্রথমে পাইপ প্রস্তুত করুন যা বেঞ্চমার্কিং প্রোগ্রামটি এসএসএইচ সংযোগের মাধ্যমে যোগাযোগের জন্য ব্যবহৃত হবে।
$ mkfifo /tmp/up /tmp/down
তারপরে কোনও রিমোট কমান্ড না চালিয়ে কন্ট্রোলমাস্টার মোডে একটি সংযোগ স্থাপন করুন। এটি আমাদের ইন্টারেক্টিভভাবে হোস্টের সাথে অনুমোদনের অনুমতি দেয়। সংযোগটি প্রতিষ্ঠিত হওয়ার পরে, এসএসএইচটি এখানে অগ্রভাগে "হ্যাঙ্গ" করবে।
$ ssh $HOST -N -M -S /tmp/control
সমান্তরাল টার্মিনালে, cat
পটভূমিতে রিমোট চালিত করুন। এটি আমাদের ইকো সার্ভার হবে যার বিলম্ব আমরা পরিমাপ করব। ইনপুট এবং আউটপুটগুলি ফিফোর সাথে সংযুক্ত রয়েছে:
$ ssh $HOST -S /tmp/control cat </tmp/up >/tmp/down &
এবং তারপরে একটি ছোট প্রোগ্রামকে up
বেনমার্ক করুন ( ফিফোর কাছে একটি বাইট প্রেরণ করুন , ফিফোর কাছ থেকে একটি বাইট পাবেন down
):
$ python -m timeit -s 'import os' \
'os.write(3, "z"); z=os.read(4, 1); assert z=="z", "got %s" % z' \
3>/tmp/up 4</tmp/down
10 loops, best of 3: 24.6 msec per loop
পরিমাপটি স্পষ্টতই বৃত্তাকার-ট্রিপের বিলম্ব দেখায়। আপনার যদি পরীক্ষার পুনরাবৃত্তি করতে হয় তবে শেষ দুটি কমান্ড ( ssh
এবং python
) আবার চালান ।
যদি কিছু ভুল হয়ে যায় বলে মনে হয়, -v
আরও ডিবাগিং আউটপুট পেতে এসএসএইচ পতাকা ব্যবহার করুন ।