Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2017, 19:06   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Скорость работы базы данных

Здравствуйте. Ранее я создавал две темы по этому поводу: раз, два.
Собственно, пока что я без выделенного какого либо сервера под БД, но при решении определённых задач и проблем, связанных с этими задачами - нарисовалась следующая картинка ...

Предыстория ...
Начну пожалуй с того, что предусмотренный сайтом импорт данных в базу достаточно топорный с позиции собственно скорости импорта, и возможности автоматизации оного в рамках задачи по интеграции сайта и 1С: импорт прайсов выполняется частями, при обработке одного прайса обрабатывается 1000 строк файла, сервер отправляет результаты на удалённый компьютер, браузер же в свою очередь по завершении загрузки страниы выполняет скрипт, который продолжает процесс импорта таким образом до завершения строк в файле.
В нормальных условиях обрабатывается ~1000 строк прайса за одну секунду.
Такая механика уже не позволяет выполнять автоматический импорт из 1С (во всяком случае, без эмуляции выполнения JS, что ещё сильнее затормозило бы весь процесс).
Так же экспериментально было установлено, что импорт прайса не является возможным, если количество строк больше 500 000, это файл примерно в 50 мегабайт. При попытке его импортировать - полностью вешался сайт.
Так же всё это вызывало сопутствующие тормоза, описанные в моих указанных темах.

Что было сделано ...
Помимо изменений, описанных ранее (в предыдущих темах) я соорудил собственный велосипед скрипт иморта данных, так сказать, по образу и подобию, но с уклоном на увеличение скорости импорта данных (без промежуточного общения сервера и браузера в процессе импорта), а так же для возможности безболезненного автоматического импорта из 1С.
После тестирования я так же полностью почистил базу данных, и выполнил импорт собственным скриптом.

Что я получил в итоге ...
Цель 1: импорт из 1С - достигнута;
Цель 2: скорость импорта данных выросла (примерно в 3.2 раза) - достигнута;
Цель 3: возможность импорта прайса с количеством строк более полу миллиона - достигнута.
Бонус 1: база данных перестала падать в стиле "просто потому что" (100500 коннектов в минуту мало что выдержит);
Бонус 2: общая скорость работы увеличилась примерно в 3 раза. Это о тех проблемах, которые описывались мною в моих предыдущих темах.

Зачем я пишу сюда ...
Ну помимо того что бы похвастаться =) ...
Вопрос: откуда появился второй бонус ?
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 21.10.2017 в 11:47.
OmegaBerkut вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скорость ответов базы данных OmegaBerkut SQL, базы данных 0 18.09.2017 09:32
Скорость работы Access beringoff БД в Delphi 10 16.06.2014 15:00
Скорость работы по сети Dux Работа с сетью в Delphi 5 09.10.2013 22:39
Скорость работы с базой данных Linel PHP 3 17.06.2011 21:50
Скорость работы программы Farrel Общие вопросы C/C++ 0 10.09.2010 23:25