Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Привет, всем. Помогите, пожалуйста, в моей проблеме. Рабочий ПК ОС: Microsoft Windows 10 Pro Процессор: QuadCore Intel Core i7-6820HK 3700 MHz (8 ядер, Кэш: L1-32Кб per core, L2-256Кб per core, L3-8Мб) Оперативная память: 64 Гб Дисковый накопитель: Intel Raid 0 Volume (476 Гб) Версия SQL Server Microsoft SQL Server 2012 (SP1) - 11.0.3368.0 (X64) May 22 2013 17:10:44 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor) Вся работа проводится в SQL Server Management Studio Есть локальная БД. Пользователей нет. Триггеров нет. В SQL-скриптах довольно много: "cursor local forward_only static", insert, update, select. База постоянно дополняется новыми данными и алгоритмами их обработки. Два раза в год запускается хранимка. И тут есть 2-е проблемы : 1. БД разрастается до 400 Гб 2. Время выполнения хранимки около 1-го месяца. Конечно же были сделаны шаги в сторону оптимизации, но в силу своих скромных знаний в этом направлении - тут еще есть к чему стремиться. Я хочу собрать новый рабочий ПК для работы с данной БД Для этого я отобрал 3-и топовых процессора: 1. Intel Core i9-7980XE Число ядер ЦП: 18 Число потоков: 36 Базовая частота: 2.60GHz Макс. частота: 4.2GHz Объем кэш-памяти первого уровня: Объем кэш-памяти второго уровня: Объем кэш-памяти третьего уровня: 24,75MB Техпроцесс: 14nm Тип памяти: DDR4 Каналы памяти: 4 Макс. быстродействие памяти: 2666MHz 2. AMD Ryzen Threadripper 2990WX Число ядер ЦП: 32 Число потоков: 64 Базовая частота: 3GHz Макс. частота: 4.2GHz Объем кэш-памяти первого уровня: 3MB Объем кэш-памяти второго уровня: 16MB Объем кэш-памяти третьего уровня: 64MB Техпроцесс: 12nm Тип памяти: DDR4 Каналы памяти: 4 Макс. быстродействие памяти: 2933MHz 3. AMD Ryzen Threadripper 2950X Число ядер ЦП: 16 Число потоков: 32 Базовая частота: 3.5GHz Макс. частота: 4.4GHz Объем кэш-памяти первого уровня: 1.5MB Объем кэш-памяти второго уровня: 8MB Объем кэш-памяти третьего уровня: 32MB Техпроцесс: 12nm Тип памяти: DDR4 Каналы памяти: 4 Макс. быстродействие памяти: 2933MHz Теперь вопросы : Какой процессор для моих задач будет лучше? Какой прирост производительности можно ожидать от использования новых процессоров? Где можно почитать информацию по данному вопросу? Спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 12:05 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Т.е. доподлинно установлено, что узкое место - процессор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 13:04 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Привет, invm Узкое место не установлено. Оптимизацией БД занимался. Много курсоров убрал, много индексов добавил. В силу своих познаний я сделал что мог. Дальше нужно много перелопачивать инфы. Этим я займусь обязательно, но позже. На данный момент наиболее простой способ сократить время выполнения хранимки - это покупка нового ПК. И этот "новый ПК" я хочу собрать на основе какого-то из 3-х процессоров. Я много перечитал информации в интернете, но так и не нашел внятного ответа на вопрос. На сколько вырастет производительность SQL Server? И что наиболее важно в рабочем ПК для разработчика SQL Server: тактовая частота, кэш, оперативка ? То, что я понял из прочитанного в интернете: Чем больше пользователей, тем более важно кол-во ядер. Если пользователей нет, что важна тактовая частота процессора, а кол-во ядер не важно. Вот у меня и стал вопрос, а насколько вырастет производительность моего SQL Server, если построить новую машину на основе этих процессоров? Если время выполнения скрипта сократиться с 1 месяца до хотя бы 2-х недель, то такую покупку считаю целесообразной. Можно конечно же и за счет оптимизации кода значительно сократить время выполнения, но на это пока не хватает мозгов. Наиболее простым способом вижу приобретение "нового ПК", но даст ли мне эта покупка прирост хотя бы в 50% я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 14:00 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySuВот у меня и стал вопрос, а насколько вырастет производительность моего SQL Server, если построить новую машину на основе этих процессоров?Если ваши запросы не распараллеливаются, то лучше меньше ядер, больше чсастота. И наоборот, если распараллеливаются. Скорее всего, для вашей процедуры верно первое, соотв., быстрее всего будет десктопный проц на 4-6 ядер Но это всё очень приблизительно, важна же ещё память, может, её элементарно не хватает, и сиквел читает постоянно с дисков? Самое правильное - не покупать случайное железо, и смотреть, что получится, а запустить профайлер, и смотреть конкретные узкие места, запросы, в целом выполнение этой вашей процедуры, и далее делать выводы. Что бы как минимум подобрать оптимальное железо и настройки, и как максимум - оптимизировать саму процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 14:17 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
alexeyvgЕсли ваши запросы не распараллеливаются, то лучше меньше ядер, больше чсастота. И наоборот, если распараллеливаются. Скорее всего, для вашей процедуры верно первое, соотв., быстрее всего будет десктопный проц на 4-6 ядер Но это всё очень приблизительно, важна же ещё память, может, её элементарно не хватает, и сиквел читает постоянно с дисков? Самое правильное - не покупать случайное железо, и смотреть, что получится, а запустить профайлер, и смотреть конкретные узкие места, запросы, в целом выполнение этой вашей процедуры, и далее делать выводы. Что бы как минимум подобрать оптимальное железо и настройки, и как максимум - оптимизировать саму процедуру. Привет, alexeyvg Спасибо за информацию. Изучу распаралеливание и определение "узких мест". Скажите, пожалуйста. Есть такие входные данные: 1. Нет распараллеливания. 2 Есть 2-а идентичных компьютера в которых различие только в процессорах по кол-ву ядер (в первом 6 ядер, а во втором 32) Вопрос: я запущу один и тот же скрипт на этих двух ПК и время выполнения этого скрипта будет одинаковым на 2-х ПК? Т.е. на 2-м ПК будет задействовано только 6 ядер, а 24 будут не задействованы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 14:50 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu1. Какой процессор для моих задач будет лучше? 2. Какой прирост производительности можно ожидать от использования новых процессоров? 3/ Где можно почитать информацию по данному вопросу? 1. Абсолютно пофиг. 2. Никакой прирост вам не светит. 3. Головой работать надо. 400 Гб и 1 месяц => диск, батенька. Копи на SSD. ЗЫ. Хотя оптимизация говнокода дешевле и дает прирост не в разы, а в сотни раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 16:03 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
+100500 , пересмотр логики в сторону оптимизации в приоритетах должно быть, т.к. наиболее вероятный и более продуктивный сценарий (в т.ч. поиск других альтернатив/инструментов, кроме SQL) железо - так облака есть, наращивается довольно гибко, хотя всё равно с диалектом подшаманить придётся. ну и да - выше уже перечислили: сначала искать узкие места в первую очередь, скорость процессора (Ядра/Инструкции/Кэш) против скорости обмена данными (диск M.2 PCIe-NVMe / память DDR4) глянуть настройки SQL сервера (там очень и очень много чего {паралелизм, Temp...}), потанцевать вокруг оптимизации OS (что там ещё делает), хотя с курсорами не очень помогает - но между делом посмотреть планы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 16:38 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Хотя-бы TaskManager / ResourceMonitor / PerfMonitor смотрел или Трейс писал по ходу выполнения для оценки загрузки? Т.к. без предварительного анализа ("просто долго") - это из пушки по воробьям.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 16:46 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySuСпасибо за информацию. Изучу распаралеливание и определение "узких мест". Скажите, пожалуйста. Есть такие входные данные: 1. Нет распараллеливания. 2 Есть 2-а идентичных компьютера в которых различие только в процессорах по кол-ву ядер (в первом 6 ядер, а во втором 32) Вопрос: я запущу один и тот же скрипт на этих двух ПК и время выполнения этого скрипта будет одинаковым на 2-х ПК? Т.е. на 2-м ПК будет задействовано только 6 ядер, а 24 будут не задействованы?Если "1. Нет распараллеливания.", то, очевидно, на каждом из ПК будет задействовано только одно ядро, а 5 и 31 соответственно будут простаивать. Нет распараллеливания, или оно есть, глазами в скрипте вы не увидите, сервер же сам запросы распараллеливает, поэтому надо смотреть планы выполнения. aleks222400 Гб и 1 месяц => диск, батенька. Копи на SSD.Или отсутствие индексов. Может, там в курсорах циклы по таблицам, а потом по записям делаются запросы в других таблицах, и там уже сканы? Но в диски упираться тоже может, само собой. vikkivХотя-бы TaskManager / ResourceMonitor / PerfMonitor смотрел или Трейс писал по ходу выполнения для оценки загрузки?Да, вот в PerfMonitor-е сразу будет прекрасно видно, упирается всё в диск или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 18:56 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
дешевле и продуктивнее один раз пригласить спеца, что бы тот пофиксил хранимку. особенно когда время выполнения 1 месяц - вы ж явно никуда не спешите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 20:14 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySuНа данный момент наиболее простой способ сократить время выполнения хранимки - это покупка нового ПК. При прочтении сего плакал...от смеха. ))) Хранимка...месяц. у нас когда отчёт больше минуты работает, это уже проблемой считается. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 22:57 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за участие. Подкину, так сказать, еще дровишек... Описание задачи. По сути - это система принятия решений. Шесть месяцев БД наполняется данными. После этого (один раз в пол года) запускается хранимая процедура, задача которой - проверить гипотезы. Гипотеза - это различные варианты весов для ряда ключевых показателей. Всего 2 661 703 комбинаций (на данный момент). Результатом выполнения хранимой процедуры является определение 8-ми лучших гипотез. Так что - это Вам не отчеты за 1-у минуту :)) Но опять же. Там определенно есть чего оптимизировать. Я хочу сказать о предыдущем своем опыте по замене "рабочего ПК" в 2015 году. "Старый ПК" | "Мой рабочий ПК" Процессор Номер i7-3770K | i7-6820HK Литография 22 nm | 14 nm Количество ядер 4 | 4 Количество потоков 8 | 8 Базовая тактовая частота процессора 3,50 GHz | 2,70 GHz Максимальная тактовая частота с технологией Turbo Boost 3,90 GHz | 3,60 GHz Кэш-память 8 MB SmartCache | 8 MB SmartCache Частота системной шины 5 GT/s DMI | 8 GT/s DMI3 Оперативная память Спецификации модулей памяти Объем памяти 32 GB | 64 GB Тип памяти DDR3-1600 | DDR4-2133 Макс. пропускная способность памяти 25,6 GB/s | 34,1 GB/s Диски Samsung SSD 840 PRO | Какой-то SSD Intel )) Так вот, переход на новую машину сократил время выполнения хранимой процедуры ... (дробь барабанных палочек) ... ВНИМАНИЕ! ... (дробь барабанных палочек) ... НА 2-Е НЕДЕЛИ ))) Сам ржу с данного факта, но что есть - то есть. Да, раньше хранимка выполнялась 1.5 месяца. С тех пор технологии пошли вперед и я, все же не без оснований (оглядываясь на предыдущий опыт по замене ПК), ожидаю серьезного :) прироста производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2018, 09:03 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu, Арендуйте в облаке вам подходящую конфигурацию. Залейте туда данные и запустите вашу процедуру. Вот так будет более менее адекватная прикидка того, что вам нужно будет купить. Начните например с 64 ядер. Если это будет хотя бы в два раза уменьшение времени выполнения, то уже дальше можно решать, стоит ли несколько тысяч долларов потратить на процессор или на программиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2018, 10:01 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySuШесть месяцев БД наполняется данными. После этого (один раз в пол года) запускается хранимая процедура, задача которой - проверить гипотезы. С тех пор технологии пошли вперед и я, все же не без оснований (оглядываясь на предыдущий опыт по замене ПК), ожидаю серьезного :) прироста производительности. Даже не смешно. Придурки какие-то. Выполняют неизвестную процедуру, которая считает неведомо что месяц. На что тратиться время - выяснять неохота. Зато есть бабки на японский суперкомпутер. Будем надеяться, что это не наше доблестное правительство... За 6 (шесть) месяцев можно хоть предобработку данных выполнить. И уложиться с финальным расчетом в часок-другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2018, 10:25 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu, По двум точкам судить не очень верно, но можно заметить, что время выполнения сократилось с повышением скорости памяти (почти пропорционально) - можно смотреть в этом направлении. Кроме этого, можно заметить, что на вычисление одного варианта тратится примерно секунда, т.е. результат зависит примерно от 30 Gb данных (это спекулятивное утверждение, почти пальцем в небо, т.е. требует проверки), поэтому я бы попробовал запустить 2 экземпляра хранимки (возможно, на небольшой модельной базе) - одна расчитывает одну половину, вторая - другую и посмотрел результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2018, 10:31 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Железо, безусловно, играет роль. Но все же лучше делать апгрейды железа на оптимизированных запросах. Вот мой кейс. Переехали планов на новый сервер. Админ накинул оперативы с 12 до 20 гб. В большинстве своём ничего не изменилось, большинство запросов итак оптимизированы. Но вот джобы на реибилд индексов по каждой из 5ти основных баз вместо 6-8ч стали выполняться 1-2ч. Польза, безусловно, есть. Но повлияло это на узкий круг запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2018, 22:32 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu Теперь вопросы : Какой процессор для моих задач будет лучше? Intel Core i9-7980XE - умрет через 1-6 месяцев. Не стоит так делать. Объем L2 18MB, L3 24MB, 2.6 Гц опорная и 4.2 в турбобусте. Это горячий процессор. Выбирайте AMD Ryzen Threadripper 2990WX - потому что 64 Мбайта из кэша L3 пойдут на работу по пересчету одним ядром и пересылке по шине памяти, а у интела это будет затыкаться уже на 24 Мбайтах. YuriySu Какой прирост производительности можно ожидать от использования новых процессоров? Где можно почитать информацию по данному вопросу? А это зависит исключительно от производителя материнской платы. Снимайте стоковый кулер, ставьте что-нибудь кошерное. Когда будете читать, обратите внимание, что AMD имеет больший кэш L2, однако кэш AMD L3 — это не инклюзивный victim-кэш, что означает, что он не может использовать предвыборку (prefetching) в отличие от кэша Intel L3 . [/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 01:04 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu, очевидно что тема-то становится всё больше и больше железная.. всё-таки советую разбить алгоритм процедуры на части хотя-бы рази наблюдения за прогрессом (какая стадия и по какой {железной?} причине тормозит) там может быть шагов по алгоритму с десяток (для части из которых RDBMS и предназначен, для части - может другие средства подойдут) и процедуры выполнять последовательно (или какой там поток в схеме) инвестировать стоит туда где это наиболее вероятно приведёт к максимальному результату. тут советуют вложиться в разные компоненты железа без понимания что именно влияет на производительность. если вывод о канале памяти как узком месте подтвердится - то рекомендация: процессор: SkyLake-X (это i7 начиная с 7800 или i9 типа 9960X, потому что 4х-канальная память, ну и по ядрам они от 6ти до 18ти) разьём: 2066 (потому что розничные процессора такие) чипсет: х299 (то что есть на рынке для этого типа процессоров/слота) материнские (черырёхканальная память, i9 / х299) под всё это есть на рынке. естественно с поддержкой PCIe / NVMe / M.2 (т.к. SATA SSD уже такое-же прошлое как и CD/DVD диски, не говоря уже о FDD и пр. антиквариате) давно есть под это дело ML платформы (в т.ч. и облачные) с кучей поддерживаемых и настраиваемых алгоритмов (под системы классификаторов/рекомендаторов и т.д.) прекрасно делают выборки для обучения моделей, отбирают наборы на тестирование/проверку. есть шаги на оценку модели, их автоматическое сравнение и выбор лучшего варианта, тестирование гипотез гибкое выделение вычислительных мощностей по необходимости (масштабирование) и распределения нагрузок всё запихать в одну процедуру безвылазно что-то там (предположительно - неизвестно) внутри себя делающую это конечно с т.зр. стандартной практики IT индустрии ещё та забава. обычно строится хотя-бы какой-то workflow с элементами логирования и наблюдения за прогрессом, так-же с возможностью паузы/остановки и опцией запуска с/после последнего успешного шага (с подхватом уже вычисленных результатов) не стоит забывать что начиная с SQL Server 2016 - внутри идёт встроенный R а с SQL Server 2017 - R + Python , и какое-то время назад смотрел SQL Server 2019 CTP2.0 - там ещё добавляют и Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 01:23 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPВыбирайте AMD Ryzen Threadripper 2990WX - потому что 64 Мбайта из кэша L3 пойдут на работу по пересчету одним ядром и пересылке по шине памяти32 Мб кэша, и пол-шины памяти. Одно ядро не сможет использовать ресурсы обоих модулей. Впрочем, разговор о железе считаю бессмысленным, пока автор (или ещё кто то) не посмотрит на систему. Может, там при выполнении всё ядра задействованы, или созданием одного индекса можно будет ускорить выполнение с месяца до часа, кто знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 01:28 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Ребята, спасибо всем Вам. Почерпнул для себя очень нужную информацию, которую теперь изучаю. alexeyvg - натолкнул на мысли о параллелизме . Теперь буду оптимизировать код для замены конструкций, которые принудительно убирают параллелизм. vikkiv - дал направление в необходимости внедрения подхода workflow , а так же изучения инструментов оптимизации и поиска "узких мест". Буду переходить на более новую версию SQL Server . x1ca4064 - Благодаря Вам, появились мысли о возможности "насильного распараллеливания" путем ухода от последовательного выполнения алгоритма в хранимой процедуре к разбиению алгоритма на несколько хранимых процедур, которые могут запускаться на выполнение одновременно . Andy_OLAP - спасибо за информацию о процессоре от AMD. Именно большое кол-во ядер и перспектива максимального распараллеливания моего алгоритма наталкивает меня на мысль о том, что это именно тот процессор, что мне нужен. Единственное, что меня сейчас смущает - это узкое место в архитектуре процессора при работе с памятью и PCIe - это шина Infinity Fabric, которая дает некоторые задержки. У процессора от Intell таких задержек нет. Но AMD работает с более быстрой памятью и что самое важное - имеет в 2-а раза больше ядер. Оглядываясь на то, что нужно идти в сторону максимального распараллеливания (ведь SQL Server способен работать одновременно с 64 ядрами), скорее всего мой выбор AMD . Но я еще все же более подробно изучу задержки, связанные с шиной Infinity Fabric и как это может повлиять на производительность SQL Server. По поводу того, что переход на новое железо ничего не даст - это просто смешно. Только лишь приблизительно сравнив характеристики "железа", что у меня есть на данный момент и характеристики того, что можно приобрести сейчас, то разница как в "скорости процессора (Ядра/Инструкции/Кэш) так и в скорости обмена данными (диск M.2 PCIe-NVMe / память DDR4)" настолько велика! Ну это приблизительно как велосипед и суперкар: оперативная память стала быстрее в разы, процессоры стали производительнее в разы, SSD c подключением по M.2 - быстрее в разы) Переход на новое железо - однозначно даст значительный прирост. И даже если скрипт после покупки нового железа будет считаться за 1-у неделю )), то в любом случае нужно переходить к глобальной оптимизации всего алгоритма. К тому же кол-во гипотез будет расти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 09:35 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySuТеперь буду оптимизировать код для замены конструкций, которые принудительно убирают параллелизм.Нужно просто получить трейсом детали выполнения вашей большой процедуры, с сохранением его в таблицу, потом с этой таблицей поработать, получив некий отчёт по выполнению, с полями вида: имя процедурыномер строкитекст запросаданные о выполнении (Duration, CPU, Reads, Wrtites и т.д.) Отсортируйте по Duration, и вы сразу увидите узкие места (ну, и по другим полям, что бы смотреть по другим критериям). Далее вы работаете только с этими стейтментами, блоками кода (допустим, их будет десяток) - наверное, сложно оптимизировать весь код, с изменением алгоритмов и т.д., но не так сложно поправить несколько узких мест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 10:30 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
Может вначале покажете какие у вас задержки на сервере: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 11:34 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
AlanDenton, Привет, AlanDenton Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. К моему сожалению я пока слабо понимаю информацию в этой выборке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 12:08 |
|
||
|
Частота процессора, кол-во ядер,... ? What the f**k :)) Help please.
|
|||
|---|---|---|---|
|
#18+
YuriySu, Судя по числам, вы сервер каждый день перегружаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 12:09 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39723906&tid=1688858]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 470ms |

| 0 / 0 |
