26.10.2015 12:32 | |
dominionПользователь iNETsHOP Количество сообщений 8 Зарегистрирован: 11-01-2011, 12:14:20 |
Увеличение скорости обработки прайсов
Столкнулись с такой проблемой. За последнее время база очень сильно выросла и теперь большие прайсы 30-50 тыс позиций приходиться обновлять по 4-5 часов, что делает весь процесс обновления цен весьма затяжным. Например, у нас выходит получить обновленный свой прайс только к 18, начав обработку в 10. Есть какие-то возможности этот процесс ускорить? железо или софт? |
26.10.2015 15:06 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Работа сервера СУБД
Скорость обработки информации в той или иной мере зависит от нескольких факторов, таких как скорость работы дисковой подсистемы, дефрагментация файлов базы данных, дефрагментация индексов, загрузка процессора, размер оперативной памяти сервера и выделенный объем памяти для СУБД и т.п. |
26.10.2015 15:35 | |
dominionПользователь iNETsHOP
Тема начата
Зарегистрирован: 11-01-2011, 12:14:20 |
Intel Celeron g540 2.5GHz 8gb ram 500GB винчестер стоит вин 7 Есть смысл что-то менять? Что-то конкретно даст увеличение скорости? |
26.10.2015 15:44 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Производительность системы
Данный процессор далеко не самый быстрый (судя по стестам Intel Celeron g540) как и все "Селероны", но проблема скорее всего комплексная. Попробуйте для начала обойтись "малой кровью" - проведите дефрагментацию индексов базы данных (а лучше перестройте их), затем дефрагментацию дисков, проверьте выделение оперативной памяти для СУБД. Так же если у вас ОС x64, а СУБД x32 - то возможно стоит задуматься о переходе на СУБД x64 чтобы использовать больший объем оперативной памяти. |
30.10.2015 12:47 | |
vikarenkoПользователь iNETsHOP Количество сообщений 25 Зарегистрирован: 17-12-2014, 08:45:27 |
Производительность системы
Цитата Написал: support проведите дефрагментацию индексов базы данных (а лучше перестройте их) Подскажите как это сделать. Это нужно делать до дефрагментации дисков или после? |
30.10.2015 13:59 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Дефрагментация индексов базы данных
Нужно в базе данных выполнить один из следующих SQL-скриптов: Дефрагментация индекса Код DECLARE @MyTable varchar(120); Перестройка индекса Код DECLARE @MyTable varchar(120); Следует отметить, что дефрагментация индекса не влияет на текущую активность пользователей в момент ее проведения. Перестройка индекса накладывает блокировку на любые модификации данных в таблице. Дефрагментацию диска нужно проводить после дефрагментации/перестройки индексов баз данных. |
11.11.2015 11:37 | |
MaXXПользователь iNETsHOP Количество сообщений 64 Зарегистрирован: 11-11-2008, 04:35:57 |
Увеличение скорости обработки прайсов
Цитата Написал: dominion Есть какие-то возможности этот процесс ускорить? железо или софт? Когда-то сталкивался с подобной проблемой, когда история в базе достигаетмиллионов строк. Можно увеличить выделение оперативной памяти для базы данных. А вообще если эти прайсы нормальные, т.е. нормальной структуры и эта структура не меняется поставщиком "от балды", то можно настроить прямую заливку сразу в базу минуя интерфейс программы. Это дает прирост скорости в разы, а иногда и в десятки раз. Ускорение прямой заливки связано с тем, что не производится куча всевозможных проверок значений ячеек, строк прайса итп итд. При необходимости в скл-запросе можно сделать пару преобразований для всего прайса по аналогии с "Скрипт обработки суммарный" который делает программа после чтения данных из прайс-листа. |
11.11.2015 14:31 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Прямая загрузка прайсов в базу данных
Цитата Написал: MaXX А вообще если эти прайсы нормальные, т.е. нормальной структуры и эта структура не меняется поставщиком "от балды", то можно настроить прямую заливку сразу в базу минуя интерфейс программы. Это дает прирост скорости в разы, а иногда и в десятки раз. Да, такая методика ускоряет загрузку прайсов, но она требует первичного анализа ситуации (к сожалению автор темы не выходит на связь) и индивидуальной настройки, т.к. OPENQUERY/OPENROWSET/OPENDATASOURCE требуют настройки или подключения удаленного сервера (Excel) и они зависят от установленных провайдеров OLEDB (Microsoft.Jet.OLEDB.4.0, Microsoft.ACE.OLEDB.12.0). |
30.11.2015 11:52 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Ускорение загрузки прайс-листов
В новой версии клиента iNETsHOP 6.4.3.273/0054: 1. Оптимизация алгоритма импорта прайсов. Переработан алгоритм поддержки многопоточности и импорта прайс-листов в целом. Прирост особенно будет заметен на количестве процессоров (ядер) от 4-х и выше. 2. Исправлена не корректная работа автозамены текста (увеличена скорость поиска/замены) при импорте прайсов. Все желающие клиенты могут принять участие в тестировании новой версии. Так же принимаются пожелания на расширение/усовершенствование функциональности программы. |