|
![]() |
#1 |
Участник
|
Без сомнения, она это делает, но только это нам не поможет aos - это один единственный процесс и с точки зрения ОС, поделать с ним ничего нельзя.
С уваженим, itfs. |
|
![]() |
#2 |
Модератор
|
Цитата:
Сообщение от itfs
Без сомнения, она это делает, но только это нам не поможет aos - это один единственный процесс и с точки зрения ОС, поделать с ним ничего нельзя.
соответственно, одной сессии (одному потоку) наличие HT или дополнительных процессов как-либо заметно помочь не может, а вот если сессий (пользователей) много - очень даже в принципе, я недавно рисовал сферического коня в вакууме - одна сессия запускает дополнительные потоки через AOSLoadGen и грузит все доступные процессоры, но как это применить на практике, еще не придумал ![]() |
|
![]() |
#3 |
Гость
|
Цитата:
Сообщение от Vadik
...
в принципе, я недавно рисовал сферического коня в вакууме - одна сессия запускает дополнительные потоки через AOSLoadGen и грузит все доступные процессоры, но как это применить на практике, еще не придумал ![]() |
|
![]() |
#4 |
Модератор
|
Цитата:
Сообщение от lagr221374
Можно на эту тему поподробнее если не затруднит + код
Изначально задача формулировалась примерно так "Допустим, у нас есть достаточно 'тяжелая' сессия, которая на многопроцессорном сервере приложений интенсивно использует один процессор, но не использует остальные. Это в принципе возможно?" Так вот "в принципе" ответ будет "да, если..". Если мы можем разбить нашу задачу на несколько мелких задач, разбросать их по нескольким потокам в принципе несложно. Я не стал использовать Thread (был когда-то нехороший опыт), а взял AOSLoadGen, благо к нему претензий по стабильности работы не было В итоге получился, как я уже говорил, сферичейский конь в вакууме: - обходя план счетов (LedgerTable), по каждому счету запускаем отдельный поток, обегающий проводки по счету (LedgerTrans) Разумеется, сам алгоритм практической ценности не имеет, он нужен только для демонстрации Дальше появляются вопросы - как узнать о том, что созданный нами поток завершил свою работу? - как вернуть из него результаты в основной (родительский) поток? - как вообще организовать синхронизацию этих потоков? Пока нормального решения, которое действительно можно было использовать, я не нашел. Я точно не хочу использовать для обмена сообщениями таблицы, я не уверен, что хочу использовать глобальные переменные. Если у кого-то есть идеи, с радостью их выслушаю |
|