- Регистрация
- 03.05.2016
- Сообщения
- 773
- Благодарностей
- 517
- Баллы
- 93
Предыстория: раньше я работал на стандарте где всего 5 потоков, для личных целей мне вполне хватало. Сейчас начал работать с про и при работе в 100 потоков начинаются проблемы. Возможно, что-то я не правильно понимаю, но постараюсь описать как я это вижу.
Сервак:
Win 10 Pro
Проц: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Оперативки: 128
ZP: 7.7.6.0
Количество потоков в одном процессе 1 (приоритет на скорость выполнения)
Есть шаблон по генерации профилей, ничего особенного простенький шаблон который генерирует профиль CEF и сохраняет в .zpprofile. Почему-то, если запустить его в 50 потоков, он не будет работать сразу, сначала ZP дождётся пока запустятся 50 инстансов и только потом начнет выполнение шаблонов. То есть работа происходит так: ставим 50 токов ZP ждет пока запустятся 50 инстансов, потом их выполнит и опять ждет пока запустятся следующие 50 инстансов чтобы их выполнить. Времени тратиться очень много. В 5 поток все работает очень быстро, но хочется чтобы так же быстро работало и в 50 и в 100 потоков.
Но возникает другая проблема:
Запустил генерацию профилей 20000штук в 5 потоков, все работает нормально. Но параллельно мне нужно запустить другой шаблон, который работает с профилями(из другой папки) в 100 потоков, и тут опять начинается проблема. Шаблон который генерирует профили в 5 потоков начинает ждать работу шаблона который работает с профилями в 100 потоков и генерация профилей становится очень медленной, я за 2 суток не смог на генерировать 20000 штук профилей.
Каков итог: для того чтобы на генерировать максимально быстро 20000 профилей, мне приходится останавливать основную работу и ждать пока сгенерируются профиля. И это очень расстраивает.
Была идея сделать генерацию профилей в цикле, чтобы не перезапускать шаблон постоянно, но и это не помогло, пока шаблон работает в те же 5 потоков, профиле нормально генерируются в цикле, но стоит запустить шаблон с основной работой в 100 потоков, генерация становится очень медленной.
У меня есть один вопрос, почему при запуск в многопотоке, потоки ждут друг друга?
Сервак:
Win 10 Pro
Проц: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Оперативки: 128
ZP: 7.7.6.0
Количество потоков в одном процессе 1 (приоритет на скорость выполнения)
Есть шаблон по генерации профилей, ничего особенного простенький шаблон который генерирует профиль CEF и сохраняет в .zpprofile. Почему-то, если запустить его в 50 потоков, он не будет работать сразу, сначала ZP дождётся пока запустятся 50 инстансов и только потом начнет выполнение шаблонов. То есть работа происходит так: ставим 50 токов ZP ждет пока запустятся 50 инстансов, потом их выполнит и опять ждет пока запустятся следующие 50 инстансов чтобы их выполнить. Времени тратиться очень много. В 5 поток все работает очень быстро, но хочется чтобы так же быстро работало и в 50 и в 100 потоков.
Но возникает другая проблема:
Запустил генерацию профилей 20000штук в 5 потоков, все работает нормально. Но параллельно мне нужно запустить другой шаблон, который работает с профилями(из другой папки) в 100 потоков, и тут опять начинается проблема. Шаблон который генерирует профили в 5 потоков начинает ждать работу шаблона который работает с профилями в 100 потоков и генерация профилей становится очень медленной, я за 2 суток не смог на генерировать 20000 штук профилей.
Каков итог: для того чтобы на генерировать максимально быстро 20000 профилей, мне приходится останавливать основную работу и ждать пока сгенерируются профиля. И это очень расстраивает.
Была идея сделать генерацию профилей в цикле, чтобы не перезапускать шаблон постоянно, но и это не помогло, пока шаблон работает в те же 5 потоков, профиле нормально генерируются в цикле, но стоит запустить шаблон с основной работой в 100 потоков, генерация становится очень медленной.
У меня есть один вопрос, почему при запуск в многопотоке, потоки ждут друг друга?