बौना किले का उपयोग करके क्लाउड सर्वर प्रदर्शन परीक्षण

बौना किला एक महान खेल है जो विस्तार से एक काल्पनिक दुनिया का अनुकरण करता है, और एक खिलाड़ी (एक मोड में) gnomes (बौने) के एक निपटान (किले) का निर्माण और प्रबंधन कर सकता है। खेल के बारे में पर्याप्त लिखा गया है, इसलिए मैंने विवरण में नहीं जाना है। यह महत्वपूर्ण है कि खेल की दुनिया के बड़े आकार और सिमुलेशन के उच्च विवरण के कारण, खेल संसाधनों पर काफी मांग है - दोनों प्रोसेसर और मेमोरी / कैश। खेल सभी तीन प्रमुख ऑपरेटिंग सिस्टम का समर्थन करता है।

गेम के लिए DFHack प्रोजेक्ट है, जो गेम डेटा संरचनाओं के रिवर्स इंजीनियरिंग में लगा हुआ है और आपको C ++, Lua या Ruby में प्लगइन्स और स्क्रिप्ट बनाने की अनुमति देता है।

मैं एप्लिकेशन और साथ सर्वर कोड का लेखक हूं जो iOS उपकरणों पर गेम के उपयोगकर्ता इंटरफ़ेस को पूरी तरह से लागू करता है। यही है, उपयोगकर्ता मूल गेम, प्लग-इन और एप्लिकेशन डालता है, और सभी सुविधाओं के साथ एक मोबाइल डिवाइस से दूरस्थ रूप से खेल सकता है।

सर्वर को घर पर स्थापित किया जा सकता है और क्लाउड प्रदाताओं में से एक से किराए पर लिया जा सकता है। और इस अध्ययन का विचार पैदा हुआ था: सबसे पहले, यह पता लगाने के लिए कि क्लाउड सेवाओं में से कौन सी बेहतर अनुकूल है और पहली जगह में उपयोगकर्ताओं के लिए सिफारिश की जा सकती है, और दूसरी बात, वास्तव में वेब सर्वर और विशेष उपयोगिताओं से अलग कुछ का उपयोग करके सर्वर के प्रदर्शन की तुलना करें। ।

परीक्षण के लिए, बौना किले / DFHack 0.43.03-r1 के संस्करण का उपयोग किया गया था। मेरे पास डॉकटर के लिए एक सार्वजनिक छवि है, जिसमें गेम स्वयं और DFHack का न्यूनतम संस्करण (साथ ही रिमोट गेम के लिए सर्वर कोड भी शामिल है, लेकिन इस मामले में इसका उपयोग नहीं किया गया है)। परीक्षण चलाने और परिणामों को वेब सर्वर पर भेजने के लिए Lua में एक स्क्रिप्ट लिखी गई थी। स्वचालन के लिए, निम्न स्क्रिप्ट का उपयोग किया गया था, जो सर्वरों को कॉन्फ़िगर करते समय उपयोगकर्ता-डेटा में निर्दिष्ट किया गया था। यही है, आपको बस एक सर्वर बनाने की आवश्यकता है, परिणाम आने तक प्रतीक्षा करें और इसे हटा दें।

#!/bin/bash fallocate -l 4G /swp ; chmod 600 /swp ; mkswap /swp ; swapon /swp ; echo '/swp none swap sw 0 0' >>/etc/fstab apt-get update apt-get install -fy docker.io apt install unzip wget https://github.com/mifki/dfremote-cloud-benchmark/raw/master/benchmark.lua wget http://mifki.com/a/t/gloveloved.zip unzip gloveloved.zip -d save/ docker run --name=df -dt -v $PWD/save:/df_linux/data/save -v $PWD/benchmark.lua:/df_linux/hack/scripts/benchmark.lua mifki/dfremote sleep 5 docker exec df /df_linux/dfhack-run benchmark server_name 

निम्नलिखित प्रदाताओं का परीक्षण किया गया था: डिजिटल ओशन, अमेज़ॅन लाइटसैल, अमेज़ॅन ईसी 2, वल्चर, लिनोइड, गूगल कंप्यूट इंजन और मैकबुक प्रो लेट 2013 2Ghz कोर i7।

यदि क्लाउड सेवा एक क्लिक में डॉकर के साथ एक सर्वर बनाने का समर्थन करती है, तो इस सुविधा का उपयोग किया गया था, यदि नहीं, तो Ubuntu 16.04 का संस्करण चुना गया था। इस प्रकार, केवल Vultr ने Ubuntu का उपयोग नहीं किया, लेकिन CentOS 7. 2GB से अधिक मेमोरी वाले सर्वरों के लिए, स्वैप फ़ाइल का उपयोग नहीं किया गया था। Google कंप्यूट इंजन के लिए सूक्ष्म और लघु, एक SSD ड्राइव का चयन किया गया था।

सबसे सस्ता सर्वर विकल्प चुना गया, सबसे पहले, क्योंकि वे उन लोगों के लिए अधिक दिलचस्प हैं जो उन्हें खेल के लिए उपयोग करने जा रहे हैं, और दूसरी बात, क्योंकि बौना किले अभी भी सिमुलेशन के लिए केवल एक प्रोसेसर कोर का उपयोग करता है और (निर्दिष्ट संस्करण में) 32 बिट अनुप्रयोग।

परीक्षण


बौने किले में गेमप्ले में दो भाग होते हैं - दुनिया की पीढ़ी और प्रारंभिक कहानी, जिसमें आप दुनिया के आकार और कहानी की लंबाई (और अन्य मापदंडों) को निर्दिष्ट कर सकते हैं, और खेल प्रक्रिया स्वयं। लगातार, खेल को फिर से शुरू किए बिना, निम्नलिखित परीक्षण किए गए:

  1. एक बहुत ही लंबे इतिहास के साथ एक बहुत छोटे आकार की दुनिया का निर्माण।
  2. एक छोटे इतिहास के साथ बड़े आकार की दुनिया बनाना।
  3. गेमप्ले। "समूह" में से एक का उपयोग किया जाता है (जब कई लोग बारी-बारी से खेलते हैं) बचाता है - गोलाकार (Anethadefíni, 25%)। चुनाव इतना महत्वपूर्ण नहीं है, जब तक कि पर्याप्त रूप से बड़ा किला नहीं है, और कुछ भी नहीं जो स्वचालित रूप से खेल को रोक देगा परीक्षण के दौरान नहीं होता है, जो 20-इन-गेम दिनों तक चलता है।

अंतिम परीक्षण सबसे महत्वपूर्ण है, सबसे पहले, क्योंकि यह गेमप्ले ही है, जिसके लिए सब कुछ होता है, और दूसरी बात, यह दुनिया की पीढ़ी की तुलना में संयोग से कम प्रभावित होता है (जिसमें सभ्यताएं, बस्तियां, इलाके, घटनाएं और इतने पर)।

परिणाम


यहाँ अनुसूची है। सेकंड में निष्पादन समय, क्रमशः, कम बेहतर है। अमेरिकी डॉलर में मासिक मूल्य।

छवि

पहले परीक्षण के परिणामों में एक अप्राकृतिक प्रसार तुरंत दिखाई देता है, मुझे नहीं पता कि यह किसके साथ जुड़ा हुआ है। मेरा मानना ​​है, आंशिक रूप से कैशिंग के साथ, आंशिक रूप से किसी कारण से नए बनाए गए सर्वर के खराब प्रदर्शन के साथ। इसलिए, परिणाम अंतिम परीक्षण द्वारा हल किए जाते हैं, जो, जैसा कि उल्लेख किया गया है, सबसे महत्वपूर्ण है। दूसरा परीक्षण आम तौर पर तीसरे के परिणामों के साथ भी संबंधित है।

EC2 c4.large सर्वर पर अपेक्षित प्रथम स्थान के अलावा, जो C4 का प्रदर्शन-अनुकूलित प्रकार है, अमेज़ॅन लाइटसैल सबसे तेज़ निकला, जो कि कीमत को देखते हुए, एक बहुत ही सुखद आश्चर्य है। Google के एकल-प्रोसेसर सर्वर और लैपटॉप से ​​लगभग एक ही परिणाम आता है। इसके अलावा, पहले के अज्ञात वल्चर, लिनोदे, जिनसे मुझे अधिक उम्मीद थी, अच्छा निकला। ऑडियंस अवार्ड डिजिटल ओशन में जाता है - धीमा, लेकिन सबसे आसान और सबसे तेज़ उपयोग करने के लिए। बल्कि महंगे EC2 m3.medium सर्वर आश्चर्यजनक रूप से धीमे हैं, और सबसे सस्ता GCE सर्वर वास्तव में SSDs के साथ भी खराब हैं, मुझे माइक्रो-साइज़ सर्वर के परीक्षण का परिणाम नहीं मिला।

अलग-अलग, यह टाइप 2 के ईसी 2 उदाहरणों के बारे में कहा जाना चाहिए। उनकी विशेषता यह है कि एक साधारण सर्वर प्रोसेसर क्रेडिट (एक निश्चित सीमा तक) प्राप्त करता है, जो लोड के तहत खर्च किए जाते हैं। ऋण खर्च करते हुए, सर्वर पूरी क्षमता से चलता है, जब वे बाहर निकलते हैं - प्रदर्शन 20% तक गिर जाता है। एक तरफ, यह हमारे उद्देश्यों के लिए बहुत अच्छी तरह से अनुकूल है - लोग, विशेष रूप से एक मोबाइल डिवाइस से, पूरे दिन लगातार नहीं खेलते हैं, साथ ही खेल में अनुकरण बंद हो जाता है जब कोई व्यक्ति मेनू पर कुछ करता है, आदि, तो यह पाने के लिए एक अच्छा विकल्प है कम पैसे के लिए उच्च प्रदर्शन। दूसरी ओर, यह "नकली" प्रदर्शन है, इसलिए मैंने परीक्षण में इस प्रकार के उदाहरणों को शामिल नहीं किया ताकि किसी को भ्रमित न करें। अनुभव से, जब तक ऋण हैं, वे बहुत तेज़ हैं, जब वे बाहर निकलते हैं - बहुत धीमी गति से।

वह सब है।

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


All Articles