Уведомления

Группа в Telegram: @pythonsu

#1 Март 8, 2024 21:00:20

pitosh
Зарегистрирован: 2024-02-03
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

большая нагрузка на проц

сайт я не писал,только развернул на новом сервере
питон версия 3.8
вот что показывает мониторинг

изначально сервак был с 1 ядром и нагрузка 0, потом толи юзеры полезли толи боты и нагрузка подскочила до 100%, добавили еще ядро но не помогло
вот команда запуска

 cat /etc/systemd/system/medical.service
[Unit]
Description=Gunicorn daemon for Django Project - medical_gunicorn
Before=nginx.service
After=network.target
[Service]
WorkingDirectory=/home/u/medical.ua/server
# run ExecStartPre as priviledged user and set up required directories
PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir /run/medical_gunicorn
ExecStartPre=-/bin/chown -R u:u /run/medical_gunicorn
ExecStartPre=-/bin/mkdir /var/log/medical_gunicorn
ExecStartPre=-/bin/chown -R u:u /var/log/medical_gunicorn
# Allow nginx to use the socket
ExecStartPre=-/bin/chmod -R 777 /run/medical_gunicorn
ExecStart=/home/u/medical.ua/server/.venv/bin/gunicorn \
        --name medical_gunicorn \
        --pythonpath /home/u/medical.ua/server \
        --bind unixrun/medical_gunicorn/medical_gunicorn.socket \
        --config /home/u/medical.ua/server/gunicorn.py \
        --error-logfile /var/log/medical_gunicorn/error.log \
        --access-logfile /var/log/medical_gunicorn/access.log \
        --pid /run/medical_gunicorn/medical_gunicorn.pid \
        --worker-tmp-dir /tmp \
        app.wsgi:application
Restart=always
SyslogIdentifier=medical_gunicorn
User=u
Group=u
[Install]
WantedBy=multi-user.target

конфиг юникорна

 """gunicorn WSGI server configuration."""
from multiprocessing import cpu_count
def get_max_workers():
    return cpu_count() * 2 + 1
def get_max_treads():
    """
    Returns amount of worker threads to handle requests
    By default - 1. Generally its 2-4 * ($NUM_CORES).
    Requires testing per project
    """
    return cpu_count()
max_requests = 1000
worker_class = 'gevent'
workers = get_max_workers()
threads = get_max_treads()
access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'

база постгре+редис
вопрос-что можно сделать для снижения нагрузки? ну кроме покупки мощного сервера

Офлайн

#2 Март 13, 2024 18:32:11

Logran
Зарегистрирован: 2024-01-03
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

большая нагрузка на проц

Это вопрос для спецов по данной ОС.

Офлайн

#3 Март 14, 2024 10:52:32

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

большая нагрузка на проц

а что в логах то?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version