Evgenii Legotckoi
Evgenii LegotckoiҚаң. 5, 2018, 2:11 Т.Ж.

Django - Оқулық 030. Django жобасына арналған $5 VDS сервер мүмкіндіктері

Сайттың функционалдығы, сондай-ақ трафик өскен сайын, мен қазіргі уақытта қолданатын VDS серверінің мүмкіндіктерін сынап көрдім. Мен VDS-пен тәжірибемді сипаттағым келеді, сонымен қатар бұл VDS белгілі бір шарттарда және жоба өлшемдерінде қандай жүктемені ұстайтынын көрсеткім келеді.

Мен бұл туралы дәл қазір айтуды шештім, өйткені бір апта бұрын қосымша жад сатып алу арқылы сервердің сыйымдылығын кеңейттім.

Әрі қарайғы барлық әңгімелер субъективті болады, бірақ бұл сізге жалпы суретті алуға мүмкіндік береді деп үміттенемін, соның арқасында жаңадан бастағандар өздерінің қажеттіліктері үшін қандай сервер қажет болатынын шарлай алады және бұл серверді таңдауды жеңілдетеді. сервер.

Сервер конфигурациясы

Бастапқыда сайт мен қабылдай алатын минималды конфигурацияда жұмыс істеді. Тарифтің құны айына 260 рубльді құрайды. Айтпақшы, менің провайдерімде де арзанырақ тариф бар (айына 190 рубль), бірақ ол бекітілген, ал менің ағымдағы тарифім маған қажетті конфигурацияны конфигурациялауға және сервер сыйымдылығын бекітілген тарифтерде қарастырылмағанға дейін арттыруға мүмкіндік береді.

Конфигурация:

  1. Процессордың ядролары: 2 x 2,7 ГГц
  2. ЖЖҚ: 512 Мб
  3. SSD: 5 Гб
  4. ОЖ: Ubuntu 16.04
  5. Интернетке қосылу: 100 Мбит/с

Барлық сервер конфигурациясы тек қана консоль арқылы жасалды, ISP Manager сияқты ешқандай көмекші құралдарсыз, ол да ЖЖҚ бөлігін сіңіреді, сондықтан бұл қарапайым ЖЖҚ мен үшін ұзақ уақыт бойы жеткілікті болды.


Джанго жобасы

Жобаның өзі қазірдің өзінде айтарлықтай өсті және сайттың осындай бөліктеріне жауап беретін көптеген деректер үлгілері бар

Толық масштабты түсіну үшін мен сайт деректерінің үлгілерінің ағымдағы құрылымын беремін.

Яғни, сайт қазірдің өзінде кәдімгі блогтан сәл артық, мен оны бос уақытымның аясында дамытуға бар күш-жігерімді салып жатырмын.

Сайт өсіп, код ұлғайған сайын жадты тұтынудың ұлғаюына тәуелділік анық байқалды. Айтпақшы... ортағасырлық азаптаудың кейбір әдістерін қолдана отырып, бағдарламашының қолдарын мәжбүрлеп түзету жадты тұтынуды тиімді түрде азайтады. Негізінде, кейбір жағдайларда жоба кодын қарап шығу, кодтың қайталанатын бөліктерін табу және оларды бөлек әдістерге немесе ішкі жобаларға бөлу жеткілікті, Django ішінде бұл қолданбалар болады (Django сайтының құрылымы қолданбалардан тұрады). Сондықтан мерзімді рефакторинг мен үшін веб-сайтты әзірлеудің ажырамас бөлігі болды.

Осы сайт конфигурациясында үш белсенді gunicorn даналары, сондай-ақ хабарландырулар үшін көбірек балдыркөк даналары бар екенін ескере отырып, мұндай жобамен жадты тұтыну келесідей өсті. нәтижесінде 450 Мб дейін және ақпараттың бір бөлігі своп бөлімінде сақтала бастады, оның астында 1 Гб диск бөлінген. Нәтижесінде сайттың жауабы Alexa Traffic Rank бойынша 1,089 секундты құрады. Жадты 1 Гб дейін арттырғаннан кейін және негізгі үлгіні оңтайландырудан кейін жауап 0,857 секундқа дейін төмендеді. Мен қолдарымның туралығы, кодтың тазалығы бойынша жұмыс істеуді жоспарлап отырмын және шаблонды кэштеуді қосамын.

Сайт трафигі

2017 жылдың желтоқсан айында тұрақты сайт трафигі күніне 1050-1150 бірегей келушілерге дейін өсті, бұл өте жігерлендіреді және мен үшін жаңа мақсат (функционалдылықты дамытудан басқа) сайтты 2000 бірегей келушілерге дейін өсіру болды.

Сайттың максималды трафигі 2017 жылдың 14 желтоқсанында тіркелді және күніне 1169 бірегей келушілерді құрады.

Бірақ сонымен бірге процессорға жүктеме сіз ойлағандай үлкен емес. Бұл конфигурациядағы орташа тәуліктік процессор жүктемесі 7 пайызды құрайды.

Яғни, шын мәнінде, бұл сервер конфигурациясында процессор өзектерінің санын көбейтудің түбегейлі қажеттілігі жоқ.

Қорытынды

Шын мәнінде, Django VDS серверінің минималды конфигурациясында, менің субъективті пікірім бойынша, қарапайым функционалдығы бар (шамамен үш есе аз) 4000-5000 бірегей келушілер деңгейінде жұмыс істей алады. Бұл $5 сервер үшін өте жақсы.

Қазіргі уақытта мен қажетті жедел жад көлемін көбейттім.

Егер біреу мен VDS жалға алатын хосттерге қызығушылық танытса, бұл TIMEWEB компаниясы, мен оны ұсынамын. VDS серверін пайдалану кезінде бірде-бір ақау болған жоқ, компания барлық профилактикалық жұмыстар туралы алдын ала ескертеді және оларды түнде Мәскеу уақыты бойынша жүргізеді.

Мен міндетті түрде ұсынбайтын нәрсе - ортақ хостинг сатып алу. Джанго үшін бұл ақша мен уақытты босқа кетіру. Ерте ме, кеш пе, сіз өсе бастайсыз және VDS қажет болуы мүмкін, содан кейін каталог құрылымындағы айырмашылықтарға байланысты көші-қон проблемалары болады және т.б.

Django үшін Timeweb хостының VDS-сервері ұсынамын.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
Г

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Бізді әлеуметтік желілерде бақылаңыз