خادم ماين كرافت: ويندوز مقابل لينكس


متابعة لسلسلة المقالات ضد شيء ضد شيء ما ، نلقي نظرة أخيرًا على شيء مفيد ، وهو خادم Minecraft. فكر في نظام التشغيل وأي جافا لا يزال أفضل من أجل استضافة أفضل لعبة للبشرية. للمقارنة ، تم أخذ Ubuntu 18.04 LTS و Server Core 2019. تم تثبيت OpenJDK على Ubuntu ، وتم تثبيت Oracle Java و AdoptOpenJDK على Windows.

كما هو الحال في جميع الاختبارات المقارنة الأخرى ، لم يكن للأجهزة الافتراضية جيران ، حيث كان يعمل جهاز ظاهري واحد فقط دائمًا على المضيف.

بدأت الخوادم بالوسيطات:

-Xmx8G -server 

تمت إزالة مكون Windows Defender على Windows Server Core ، كما في صورتنا باستخدام Windows VDS مقابل 99 روبل. بالمقارنة ، هذا هو ما تخسره عند تركه قيد التشغيل.



لكل من توزيعات Java ، تم تثبيت أحدث الإصدارات المتاحة للجمهور ، وهي:

Oracle: "1.8.0_241"
AdoptOpenJDK: "1.8.0_242"
OpenJDK: "1.8.0_232"

الجولة رقم 1 ، جيل العالم


في هذا الاختبار ، نولد العالم. كان المولد Geographicraft مع Biomes'O'Plenty و Dynamic Trees و PVG وكهوف worley و IC و BC مثبتة.

العالم ليس بأي شكل من الأشكال الكلاسيكية ويتم إنشاؤه بشكل ملحوظ أبطأ من المعتاد.

تم إنشاء عالم مكون من 2704 قطعة:


يبتعد Windows مع AdoptOpenJDK عن منافسيه لمدة 5 ثوانٍ.

الجولة رقم 2 ، بداية الخادم


تم القياس في ثلاث تمريرات لكل جهاز افتراضي. في كل مرة ، أكمل كل من الخوادم تنزيل العالم في الثانية في الثانية الواحدة مقارنة بالنتيجة السابقة.


OpenJDK على ويندوز و OpenJDK على لينكس تظهر نفس النتائج.

الجولة رقم 3 ، الذاكرة المحتلة


تبدأ العملية في استهلاك المزيد من الذاكرة ، يتم تثبيت المزيد من النوى عليها. يوجد أدناه جدول بالذاكرة المشغولة لعملية خادم فارغة دون تحميل العالم عليها.


يستهلك Oracle JRE ما يتراوح بين 80 و 100 ميغابايت في المتوسط ​​على عدد زوجي من النوى. الشيء نفسه ينطبق على AdoptOpenJDK ، فقط على عدد فردي من النوى.

لينكس لم تظهر هذه الغرابة.

الجولة رقم 4 ، 32 دجاجة في 2 من 2 مربع



المشهد عبارة عن حساب لتصادم 32 دجاجة في مربع 2 × 2. تم إعداد المشهد مقدمًا وتناثر العالم نفسه حول الخوادم بحيث كان كل شيء صادقًا.

تم تثبيت نواة واحدة لهذا الاختبار ، وتم تعيين العملية على أولوية الوقت الحقيقي.


كانت مجموعة عمل OpenJDK في هذا المشهد تزيد بمقدار 40 ميجابايت عن منافسيها.


متوسط ​​استهلاك المعالج في Oracle و AdoptOpenJDK هو نفسه ، لكن جمع القمامة من Oracle يجمع بشكل متكرر أكثر وأكثر كثافة ، مما يؤدي غالبًا إلى رشقات من نشاط المعالج.

لاستكمال عدد المشاهد التي يمكننا معالجتها ، دعنا فقط نزيد من معدل علامات الخادم.


في اختبار التحميل العالي ، استوعب برنامج Ubuntu c OpenJDK باستخدام Windows c AdoptOpenJDk ، وأوراكل تلحق بالركب.


تحت تحميل أعلى ، أعطى OpenJDK على Windows نتائج أفضل من Ubuntu.

تم مسح خادم OpenJDK على أوبونتو باستمرار وتجمد المشهد. كان ويندوز أسوأ قليلا على نفس OpenJDK. ومع ذلك ، تعامل Oracle مع الأفضل بأقل عدد من التجميد.


من بين أشياء أخرى ، احتفظ Oracle SE بنفس مقدار ذاكرة الوصول العشوائي (OpenJDK).

الجولة رقم 5 ، 64 * 64 قطعة والأشجار الديناميكية



يحتوي هذا المشهد على غابة وعشرات الغوغاء. كيلومترات من الأشجار تنمو باستمرار وتحديث موقف كتلهم.

كل شجرة عبارة عن تجانب منفصل ، ولكن في البداية يكون معدل التجزئة منخفضًا ، حيث يتم تحديد مرة واحدة فقط في 20 لعبة. يوجد أدناه رسم بياني لاستخدام المعالج لكل خادم tickrate.


تعذر على Ubuntu + OpenJDK و Windows Server مع Oracle onboard بدء تشغيل الخادم في الوسائط التي تمت مناقشتها مسبقًا ، لذا لم يدخلوا في الجدول.

لبدء الخادم ، اضطررت إلى تغيير العلامات إلى:

 -Xms4g -Xmx8G -server -XX:+UseCompressedOops -XX:+AggressiveOpts 

استقرت المثيلات الثلاث في البداية على 100٪ من المعالج ، ولكن لم يقم Windows Server + AdoptOpenJDK فقط بإسقاط الخادم. بعد جمع القمامة ، عاد كل شيء إلى الجدول أدناه.


عند التبديل من معدل سرعة يتراوح من 60 إلى 70 ، على Ubuntu ، بدأ جدول تحميل وحدة المعالجة المركزية يتصرف مثل موجة جيبية ، وهذا هو السبب في أن استخدام وحدة المعالجة المركزية المتوسطة بدأ فجأة في الانخفاض بسبب التعقيد المتزايد للمهمة. وبسبب هذا ، كان لا بد من إيقاف الجدول حيث هو الآن.

قد يكون هذا هو الفرق بين جدولة Linux و Windows.

الاستنتاجات:

على الرغم من الاختلاف الموضوعي في توزيعات OS و JRE ، إلا أنه من المستحيل تقديم توصية محددة ، والتي تعد أفضل موضوعيًا للحفاظ على الخادم عليها.

في هذه الحالة ، ربما يستحق اختيار نظام التشغيل الذي أنت أكثر دراية به.

Source: https://habr.com/ru/post/ar485624/


All Articles