Как ускорить процесс

Тема в разделе "Функции и интерфейс программы", создана пользователем wokster, 5 ноя 2015.

  1. wokster

    wokster New Member Пользователи

    Регистрация:
    5 ноя 2015
    Сообщения:
    3
    Парсинг идет в базу sqlite3, она и скрипт на локалке(openserver). Сейчас 1-2 документа в секунду. Всего их около 1,5 миллиона. Крайне медленно.
    Посмотрел ресурсы: проц не более 10% загрузки, оперативка 1,9 из 4 максимум. Диск загружен на 100%. Что он делает с диском?
    Можно ли как-то ускорить процесс? Где узкие места?

    И еще вопрос: можно ли отключить создание файлов в c://content/ не вижу в них смысла.
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    11.778
    Здравствуйте.

    Возможно, так работает локальный сервер.

    Поместите все содержимое шаблона вывода (ctrl+2) в макрос [CLEAR]
    Тогда сохранения документов на диск происходить не будет.

    С уважением к вам, Сергей.
     
  3. wokster

    wokster New Member Пользователи

    Регистрация:
    5 ноя 2015
    Сообщения:
    3
    За CLEAR - спасибо.
    За локальным сервером подобного поведения не наблюдал. Там в скрипте логика минимальная. Да и 2 запроса в сек для него не проблема. Единственно грешу на sqlite3. Не работал с ней раньше. Может она медленная.
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    11.778
    Может быть.

    Content Downloader к локальному диску обращается только для записи файлов (но у вас этого не происходит).

    Как я понял, вы используете макросы <PHP_SCRIPT> для обращения к локальному серверу. В этом случае, со стороны Content Downloader тоже проблем быть не должно.

    С уважением к вам, Сергей.
     
  5. wokster

    wokster New Member Пользователи

    Регистрация:
    5 ноя 2015
    Сообщения:
    3
    Скорость упала до 0,8-1.2 Поговорил с заказчиком, уговорил отказаться от sqlite в пользу mysql. Запустил тот же проект с теми же условиями - скорость поднялась до 8-10 в секунду.
    Всем на заметку sqlite - годится только для маленьких баз и если нет возможности подключить нормальную СУБД
     

Поделиться этой страницей