দুটি অভিন্ন উবুন্টু সার্ভারের মধ্যে পারফরম্যান্সে বিশাল পার্থক্যের কারণটি আমি কীভাবে খুঁজে পাব?


9

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

উভয় সার্ভারের গড় প্রতিক্রিয়ার সময়ে পারফরম্যান্সের পার্থক্যটি সবচেয়ে স্পষ্ট ((জাভা অ্যাপ্লিকেশনে নিজেই পরিমাপ করা হয়েছে, নেটওয়ার্কের বিলম্ব ছাড়াই): তাদের মধ্যে একটি খুব অবিচ্ছিন্নভাবে অন্যটির চেয়ে 20-30% দ্রুত faster
আমি dstatখুঁজে বের করতাম , যদি আরও প্রসঙ্গের সুইচ, আইও, অদলবদল বা অন্য কিছু থাকে তবে আমি পার্থক্যের কোনও কারণ দেখতে পাই না। একই সার্ভারে একই কাজের চাপ, (কোনও স্ব্যাপিং নয়, কার্যত কোনও আইও নেই), সিপিইউ ব্যবহার এবং লোড এক সার্ভারে বেশি।

সুতরাং পার্থক্যটি মূলত সিপিইউ আবদ্ধ বলে মনে হয়, তবে যখন একটি সাধারণ সিপিইউ বেঞ্চমার্ক ব্যবহার করে sysbench(সমস্ত লোড বন্ধ করে দেওয়া হয়) তবুও এটি কেবল 6% ছিল। সুতরাং এটি কেবল সিপিইউই নয় মেমরির পারফরম্যান্সও বটে।

এখন পর্যন্ত আমি যাচাই করেছি:

  • সমস্ত উপাদানগুলিতে ফার্মওয়্যার সংশোধন (অভিন্ন)
  • BIOS সেটিংস (আমি ব্যবহার করে একটি ডাম্প করেছি dmidecode, এবং এতে কোনও পার্থক্য দেখানো হয়নি)
  • আমি তুলনা /proc/cpuinfo, কোন পার্থক্য।
  • আমি আউটপুট তুলনা cpufreq-info, কোন পার্থক্য।
  • জাভা / জেভিএম প্যারামিটার (উভয় সিস্টেমে একই সংস্করণ এবং প্যারামিটার)

এছাড়াও, আমি কোনও প্রভাব ছাড়াই কয়েক মাস আগে সম্পূর্ণরূপে র‌্যাম প্রতিস্থাপন করেছি।

আমি হারিয়ে গেলাম। আমি কী করতে পারি তা বের করার জন্য, কী চলছে?

আপডেট : হ্যাঁ! উভয় সার্ভার এখন সমানভাবে সম্পাদন করে। এটি "পাওয়ার সিআরপি" সেটিংস হিসাবে জিম_ম_মুহূর্তে মন্তব্যগুলিতে তাদের নামকরণ করেছে। "পাওয়ার ম্যানেজমেন্ট" এর BIOS বিকল্পগুলি দ্রুত সার্ভারে "সর্বোচ্চ পারফরম্যান্স" এবং অন্যটিতে "অ্যাক্টিভ পাওয়ার কন্ট্রোলার" (ডেল থেকে ডিফল্ট সেটিংস) ছিল। স্পষ্টতই আমি ভুলে গিয়েছিলাম, যে আমি সেটিংটি দুই বছর আগে তৈরি করেছি এবং আমি সমস্ত সার্ভারে এটি করি নি। আপনার খুব সহায়ক ইনপুট জন্য সকলকে ধন্যবাদ!


2
আপনার ত্রুটিযুক্ত র‌্যামের সম্ভাবনা রয়েছে। আপনার অ্যাপ্লিকেশনটি যদি নেটওয়ার্ক ভারী হয় তবে এটি নেটওয়ার্ক স্ট্যাকের সাথে কিছু হতে পারে।
কাইল

2
আপনি কি BIOS এ "অ্যাডভান্স সিপিইউ সেটিংস" তুলনা করতে পারেন? - এটি করতে একটি আইপিমিটুল কমান্ড চালাতে সক্ষম হতে পারে? র‌্যামের গতি কি একই রকম? আমি ধরে নিয়েছি আপনি ডিস্ক / নিয়ন্ত্রণকারীদের ব্যাটারি ব্যাকআপ আছে কিনা তা পরীক্ষা করে দেখেছেন ... কেবল "জোরে জোরে" ভাবছেন ... উভয় বাক্সের র্যামটি কি একই রকম? নিবন্ধিত বা নিবন্ধীকৃত নয় ... এএইচ ... আপনি কি পরীক্ষা করেছেন যে "পাওয়ার সিআরপি" - এসিপিআই উভয় সার্ভারে বন্ধ আছে?
জিম_ম_ যে কোনও জায়গায়

2
যদি তারা একই ডেটা পরিবেশন করছে, কোনও fw বা dns থেকে কোনও লোড ব্যালেন্সিং চলছে? নেটওয়ার্ক পরিসংখ্যান দেখতে কেমন? জাভা কনফিগারেশন পাশাপাশি একই? জাভা স্তূপ আকার কি একই? এই এক অন্ধকারে শুটিং।
অউস্তান

2
সফ্টওয়্যার কনফিগারেশন কি সত্যই অভিন্ন? উদাহরণস্বরূপ, অ্যাপআর্মার একটিতে সক্ষম এবং অন্যটিতে অক্ষম? ত্রুটির জন্য 'dmesg' পরীক্ষা করুন।
আন্তন কোহেন

1
আপনি কি নেটওয়ার্কের তারযুক্ত তারের, স্যুইচ-এর বন্দরটি পরীক্ষা করেছেন এবং আপনি আইওপগুলি দেখতে পাচ্ছেন বা এইচডিডি'র স্বাস্থ্য পরীক্ষা করেছেন ... শুভেচ্ছা

উত্তর:


6

আপনি এর সাথে কতটা যেতে চান তার উপর নির্ভর করে দুটি ধারণা:

  1. উভয় সার্ভারের ডিস্কগুলি অদলবদল করুন এবং দেখুন যে গতির কার্যকারিতা হার্ডওয়্যারে থাকে বা সফ্টওয়্যারটির সাথে চালিত হয়।

  2. আপনি /opt/dell/toolkit/bin/syscfg -o complete-bios-config.outযদি কোনওভাবে এই প্যাকেজটি ইনস্টল করতে পারেন তবে এর আউটপুটটির তুলনা করুন ।


ডেসটেটের আউটপুটটি বেশ স্পষ্টভাবে দেখিয়েছিল, পারফরম্যান্সের পার্থক্যটিও ঘটে, যখন কোনও আইও ঘটছে না। উবুন্টু 10.4 এ সিস্কেফজি ইনস্টল করা সত্যই জটিল বলে মনে হচ্ছে। আমি dmidecode এর আউটপুট ইতিমধ্যে তুলনা করেছি, sysctl আরও দেখাতে হবে? প্রতিটি বিআইওএস স্ক্রিনের ফটোগুলির তুলনায় এটি কম কাজ এবং তাদের তুলনা করে। আমি এটি চেষ্টা করতে পারেন।
the.duckman

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

3

আউটপুট এবং পৃথকীকরণের আরও সম্ভাবনা:

  • sysctl -a (নিশ্চিত করুন যে কার্নেল টিউনেবলগুলি একই রয়েছে)
  • বিড়াল / প্রকোপ / বাধা (সম্ভবত অন্য কোনও টুকরো হার্ডওয়্যার বিড়বিড় হয়েছে?)
  • আইপিমিটুল সেন্সর তালিকা (দীর্ঘ শট, তবে আরও নিম্ন স্তরের পার্থক্য, ওভারহিট, ভোল্টেজ সমস্যা ইত্যাদি পরীক্ষা করে দেখুন)

ধন্যবাদ, দুর্ভাগ্যক্রমে, এই কমান্ডগুলির আউটপুটটিতে কোনও সুস্পষ্ট পার্থক্য নেই।
the.duckman

2
সমস্ত পার্থক্য সুস্পষ্ট, যদি আপনি সফ্টওয়্যার ব্যবহার করে ফাইলগুলি তুলনা করেন । দয়া করে এই প্রশ্নটি দেখুন: আমি দুটি কনফিগারেশন ফাইলের মধ্যে কীভাবে পার্থক্য করব?
স্কাইহক

3

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

আপনি যদি পরে কাজ করছেন (লোড ব্যালেন্সারের মাধ্যমে উভয় সার্ভারের উপর রাখা লোড পরিমাপ করুন) আপনার লোড ব্যালেন্সার সার্ভারগুলির মধ্যে ঠিক সমানভাবে কাজের চাপ বিভক্ত না করে যাচ্ছেন (একটি সার্ভারের জন্য একটি 20% স্কিউ কীভাবে নির্ভর করে তা অস্বাভাবিক নয়) আপনার লোড ব্যালেন্সার সিদ্ধান্ত নেয় কে কে অনুরোধ করবে), যা একজন সার্ভারকে আরও বেশি বোঝা নেওয়ার কারণী এবং এভাবে খারাপভাবে সম্পাদন করে।

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


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

হুম - সেক্ষেত্রে আমি আনুষ্ঠানিকভাবে স্টাম্পড - যদি সবকিছু সত্যই অভিন্ন হয় (এবং আমরা মনে করি এটি বেশ ভালভাবে নিশ্চিত হয়ে গেছে) আপনার পারফরম্যান্স সংখ্যায় (± 5-7%) ত্রুটিযুক্ত যুক্তিসঙ্গত ব্যবধানের মধ্যে থাকা উচিত - আপনি 'দ্বিগুণেরও বেশি তারতম্য দেখছি এবং কেন জানি না: - /
voretaq7

3

কিছু প্রোফাইলিং সরঞ্জাম, নয়তো সিস্টেম মত প্রোফাইলিং ব্যবহার করে দেখুন জন্য perf বা জাভা মত প্রোফাইলিং VisualVM

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

apt-get install linux-tools-common linux-tools

তারপরে এমন কিছু:

perf record -e cpu-cycles -p <pid>

অথবা

perf record -a -g <benchmark command>

তারপর

perf report

সিস্টেমগুলি কীভাবে ভিন্নভাবে সম্পাদন করতে পারে তার কয়েকটি ধারণা:

পরিবেশ: বায়ুর তাপমাত্রা বা বায়ুপ্রবাহ কি আলাদা? তারা কি র্যাকগুলিতে আছে? আমি দেখেছি সিস্টেমগুলি বিভিন্ন র্যাক পজিশনে ভিন্নভাবে সঞ্চালন করে, যা কম্পনের কারণে ঘটে। প্রতিটি রেক জুড়ে বিভিন্ন স্তরের কম্পন রয়েছে। এটি অসম্ভব, আপনি বিবেচনা করে বলেছিলেন যে প্রায় কোনও আই / ও ব্যবহার হচ্ছে না। তবে আমি দেখেছি ডিসের অংশগুলিতে কম্পনের কারণে 2MB / সেকেন্ডের ক্রমিক লেখাগুলি কম হয়ে যায়।

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


1

কেন কেউ 'সিসপ্রফ' পরামর্শ দেয়নি ..?

এটিই এটির জন্য ডিজাইন করা হয়েছিল।

বা উম্মে দ্বিতীয় চিন্তা ... /etc/security/limits.conf এ কিছু সীমা পূরণ করার চেষ্টা করুন

উভয় চেষ্টা করুন।

যদি আপনি কিছু না পান .... আপনার সম্ভবত কোনও সুরক্ষা সমস্যা বা শারীরিক ত্রুটি রয়েছে।

আরও দেখুন: আমার লিনাক্স সার্ভার "তৈরি হওয়া প্রক্রিয়াগুলির সংখ্যা" এবং "প্রসঙ্গের স্যুইচগুলি" অবিশ্বাস্যভাবে দ্রুত বাড়ছে

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