Найти - Пользователи
Полная версия: большая нагрузка на проц
Начало » Python для новичков » большая нагрузка на проц
1
pitosh
сайт я не писал,только развернул на новом сервере
питон версия 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"'

база постгре+редис
вопрос-что можно сделать для снижения нагрузки? ну кроме покупки мощного сервера
Logran
Это вопрос для спецов по данной ОС.
ZerG
а что в логах то?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB