• Почему парсер у хостера работает медленнее чем на домашней виртуалке?

    @nekolov Автор вопроса
    Спасибо,
    1. другого буду пробовать
    2. я уже пробовал использовать несколько асинхронных модулей, на данный момент в своем коде более менее уверен, пришел к выводу что это скорее всего уже неприятный сюрприз(мягко говоря) от хостера.
  • Является ли данный код многопоточным?

    @nekolov Автор вопроса
    seven5674, Не совсем понимаю где я формирую для одного id несколько потоков? Как только создается поток для конкретного id сразу же срабатывает break и происходит выход из while, далее берется новый id итд.
    While это просто ожидание пока текущие потоки закончат работу.
  • Является ли данный код многопоточным?

    @nekolov Автор вопроса
    Василий Банников,
    1. Про это я в курсе, в данном случае я пока просто качаю контент, судя по аналогичным примерам(пересмотрел довольно большое количество источников) прирост в скорости все же должен быть.

    2. Исправил .start на .run, думал что что метод start автоматом вызывает метод run.

    3. Насколько я понимаю метод start просто служит для запуска в 'работу' потоков, как именно он его может блокировать? Т.е метод создает и сразу же стартует поток, и так далее пока не будет создано и запущено 10 объектов.... Далее по завершению данные треды автоматом уничтожаются...
  • Почему начала тормозить mariadb?

    @nekolov Автор вопроса
    может ты это дамп только что сделал и он тупо из кеша выгрузился (но создавать такой дамп на медленном диске долго, ты бы сразу заметил)?


    Дамп я сделал вчера и он создавался около 15-20 минут).
    Если моя база разрастется до предполагаемых 300GB это отразится на скорости?
    Т.е чем больше будет база тем вставка в нее будет медленнее?
    Как я могу проверить что я не исчерпал макс. количество коннектов?
    Mariadb ведет где то статистику по активным подключениям?
    max_connections = 100
  • Почему начала тормозить mariadb?

    @nekolov Автор вопроса
    Прочитал дамп этой же базы который лежит на данном внешнем диске(time для наглядности, без него результат аналогичный), не совсем понял почему такая высокая скорость..
    root@pc:/home/tester#time dd if=/media/tester/b0bb1639-f92d-4ee2-9ffe-9780109c9c0b/dump/dump.sql 2922+1 records in
    2922+1 records out
    3064820003 bytes (3,1 GB, 2,9 GiB) copied, 0,589602 s, 5,2 GB/s
    
    real    0m0,592s
    user    0m0,004s
    sys     0m0,586s


    Вот такой динозавр я использую(12GB Ram + SSD), повторюсь что на нем только висит база и все, и судя по pdf-у у него стоит USB 2.0. К ноуту кроме внешнего диска больше ничего не подключено.
    С iotop скорее всего вышла ошибка так как по дефолту я подозреваю он измеряет скорость на текущем разделе... Т.е я не понял как ему при запуске можно указать именно мой примонтированный диск.
  • Как проще и грамотней подключить свой nginx.conf внутрь контейнера?

    @nekolov Автор вопроса
    Я жестко затупил блин....
    client_max_body исправил client_max_body_size и все заработало....

    Большое спасибо...
  • Как проще и грамотней подключить свой nginx.conf внутрь контейнера?

    @nekolov Автор вопроса
    Сергей Соколов, Спасибо большое)

    Вот что имею:
    конфиг nginx.conf внутри запущеного контейнера:
    user  nginx;
    worker_processes  auto;
    
    error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  10240;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    }
    daemon off;


    Внизу видим include который должен подключять наш новый конфиг) но почему то это не работает...

    Проверяю что файл с нашей доп опцией лежит в верной директории:
    root@18:/etc/nginx# cat /etc/nginx/conf.d/changes.conf
    client_max_body 2G;


    На всякий случай проверяю его права:
    root@184f97f73968:/etc/nginx# ls -la /etc/nginx/conf.d/
    total 28
    drwxr-xr-x 1 root root 4096 Aug 19 21:47 .
    drwxr-xr-x 1 root root 4096 Aug 19 18:31 ..
    -rw-r--r-- 1 root root   20 Aug 19 21:46 changes.conf
    -rw-r--r-- 1 root root 9608 Aug 19 21:47 default.conf


    данный сервис в моем docker-compose.yml
    proxy:
        container_name: nginx-proxy
        restart: always
        image: jwilder/nginx-proxy
        ports:
          - 80:80
          - 443:443
        volumes:
          - certs:/etc/nginx/certs
          - vhost.d:/etc/nginx/vhost.d
          - html:/usr/share/nginx/html
          - /var/run/docker.sock:/tmp/docker.sock
          - ./changes_nginx.conf:/etc/nginx/conf.d/changes.conf
        environment:
          - DEFAULT_HOST=sire.ru
        networks:
          - main_network


    Проверяю права на новый конфиг docker-composer.yml
    root@vps293553:~/docker-compose# ls -la
    -rw-r--r-- 1 root root 20 Aug 19 17:46 changes_nginx.conf
    -rw-r--r-- 1 root root 4232 Aug 19 14:30 docker-compose.yml


    Содержимое:
    root@vps293553:~/docker-compose# cat changes_nginx.conf
    client_max_body 2G;


    Но в логах контейнера я вижу то что nginx не 'понимает' наш конфиг:
    nginx-proxy                | nginx.1     | nginx: [emerg] unknown directive "client_max_body" in /etc/nginx/conf.d/changes.conf:1
    nginx-proxy                | forego      | starting nginx.1 on port 2818700
    nginx-proxy                | nginx.1     | 2021/08/19 21:52:41 [emerg] 28216#28216: unknown directive "client_max_body" in /etc/nginx/conf.d/changes.conf:1
    nginx-proxy                | nginx.1     | nginx: [emerg] unknown directive "client_max_body" in /etc/nginx/conf.d/changes.conf:1
    nginx-proxy                | forego      | starting nginx.1 on port 2818800
    nginx-proxy                | nginx.1     | 2021/08/19 21:52:41 [emerg] 28217#28217: unknown directive "client_max_body" in /etc/nginx/conf.d/changes.conf:1
    nginx-proxy                | nginx.1     | nginx: [emerg] unknown directive "client_max_body" in /etc/nginx/conf.d/changes.conf:1
    nginx-proxy                | forego      | starting nginx.1 on port 2818900
    nginx-proxy                | nginx.1     | 2021/08/19 21:52:41 [emerg] 28218#28218: unknown directive "client_max_body" in /etc/ng
  • Как проще и грамотней подключить свой nginx.conf внутрь контейнера?

    @nekolov Автор вопроса
    Вообщем сделал))
    вот как выглядид данный сервис:

    proxy:
        container_name: nginx-proxy
        restart: always
        image: jwilder/nginx-proxy
        ports:
          - 80:80
          - 443:443
        volumes:
          - certs:/etc/nginx/certs
          - vhost.d:/etc/nginx/vhost.d
          - html:/usr/share/nginx/html
          - /var/run/docker.sock:/tmp/docker.sock
          - ./changes_nginx.conf:/etc/nginx/conf.d/changes.conf
        environment:
          - DEFAULT_HOST=site.ru
        networks:
          - main_network


    В логах контейнера получаю:

    nginx.1     | 2021/08/19 18:33:46 [emerg] 2528#2528: "user" directive is not allowed here in /etc/nginx/conf.d/changes.conf:2


    файл changes_nginx.conf лежит рядом с docker-compose.yml и содержит все то что в нем было по дефолту(то что я забрал из рабочего контейнера) + моя новая добавленная строка:
    client_max_body_size 1G;
    очень жаль что ее нельзя как то просто передать как опцию в при старте)
  • Как проще и грамотней подключить свой nginx.conf внутрь контейнера?

    @nekolov Автор вопроса
    Спасибо,
    боюсь что билдить каждый раз не вариант, а вот добаввить его в контейнер указав в качестве volume вот таким способом возможно? Данный файл лежит в одном каталоге с docker-compose.yml

    proxy:
        container_name: nginx-proxy
        restart: always
        image: jwilder/nginx-proxy
        ports:
          - 80:80
          - 443:443
        volumes:
          - certs:/etc/nginx/certs
          - vhost.d:/etc/nginx/vhost.d
          - html:/usr/share/nginx/html
          - /var/run/docker.sock:/tmp/docker.sock
          - ./nginx.conf:/etc/nginx/nginx.conf:ro
        environment:
          - DEFAULT_HOST=site.ru
        networks:
          - main_network
  • Ошибка с сертификатами при выполнении get запроса?

    @nekolov Автор вопроса
    Сергей Карбивничий, Вот ради интереса с requests,

    import requests
    
    response = requests.get('https://....//api/v1/lan/ip')


    ошибка:

    Traceback (most recent call last):
    File "./BoxEnum.py", line 5, in
    response = requests.get('https://myapi/api/v1/lan/ip')
    File "/usr/lib/python3/dist-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
    File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
    File "/usr/lib/python3/dist-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/lib/python3/dist-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
    File "/usr/lib/python3/dist-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
    requests.exceptions.SSLError: HTTPSConnectionPool(host='myapi', port=443): Max retries exceeded with url: /api/v1/lan/ip (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_ske_dhe', 'dh key too small')])")))
    root@a:/BoxEnum# cat BoxEnum.py
    #!/usr/bin/env python3

  • Ошибка с сертификатами при выполнении get запроса?

    @nekolov Автор вопроса
    Сергей Карбивничий, Вначале я его пробовал использовать но получал также ошибку с сертификатами... Далее нагуглиг что часто подобное решалось использованием urllib
  • Ошибка с сертификатами при выполнении get запроса?

    @nekolov Автор вопроса
    Сергей Карбивничий, это обычный маршрутизатор устанавливаемый провайдером, т.е об это
    это dns имя известно только DNS серверу который крутиться на нем... В данном маршрутизаторе я профазил API и нашел некоторые функции которые доступны без авторизации и решил написать простой скрипт Enum* :)
  • Ошибка с сертификатами при выполнении get запроса?

    @nekolov Автор вопроса
    Сергей Карбивничий, Все успешно открываеться и в результате я получаю свой JSON.
  • Как реализовать запуск 'Microsoft Teams' по клику на ссылке?

    @nekolov Автор вопроса
    Спасибо,
    Попробую, только вот забыл уточнить ещё, задача в том чтобы Тимс открывался и сразу совершался вызов определенному клиенту.
  • Не подходит ключ для активации 'win 10 pro N'?

    @nekolov Автор вопроса
    Уточнение насчет удаленности было косвенным ответом на предложение об установке обычной win 10 pro.
  • Не подходит ключ для активации 'win 10 pro N'?

    @nekolov Автор вопроса
    Дело в том что данный ПК работает далеко от меня и физического доступа к нему нет, а при покупке ключа был уверен что он может активировать любые(коих минимум 2) pro версии 10 винды...
  • Не подходит ключ для активации 'win 10 pro N'?

    @nekolov Автор вопроса
    Сайт не совсем и рандомный.
  • Бесплатное ПО для оцифровки большого объёма сканов?

    @nekolov Автор вопроса
    Я просто на java видел вроде какой то проект пару лет назад... я вот про них читаю https://ambar.cloud/ еще но их продукт только платный)