запуск множества терминалов - страница 5

 
Renat писал(а) >>

Вы путаете "количество дескрипторов" с "количеством системных дескрипторов". В Windows 2003 такие же ограничения, как и в предыдущих версиях.

Рекомендую почитать статью "Give Me a Handle, and I'll Show You an Object" от 1993 года из MSDN. Вот все объясняющая выдержка:

15 бит в хендле жестко зарезервировано за системным индексом, что дает фиксированную табличку в 16384 значения.

Ренат, я позволю себе немного поправить Вашу терминалогию: "client's handle table" я бы расценил как таблицу клиентских (пользовательских) дескрипторов, а не системных. Но сути дела по их числу это не меняет. Ниже в этой же статье написано, что объекты делятся на 4 вида:

Following this approach, there are the following object type classes in Windows NT: 
- Executive objects (processes, threads, sections, file objects, events, semaphores, and mutexes) // ЧВВ: это вероятно CreateProcess, CreateThread, CreateMutex, CreateFile и пр.
- Win32 GDI objects (pens, brushes, fonts, palettes, regions, device contexts, bitmap headers) // ЧВВ: это CreatePen, CreateBrush etc.
- Win32 USER objects // ЧВВ: CreateWindow и пр.
- Win32 base objects (heaps) // ЧВВ: вероятно, GlobalHandle, GlobalAlloc и т.д.

т.е. в этом направлении можно сильно "зарыться", я поискал в MSDN online и роликах Channel 9 - ничего подходящего не нашёл.

С точки зрения же практики - мне удалось на Windows Server 2008 запустить 30 терминалов, и они все работали. VM-машина ушла в своп из-за недостатка памяти, на хосте у меня нет сейчас Windows Server 2008, поэтому эксперимент я не смогу повторить большим числом терминалов. Да и честно, меня лично эта тема сосредоточения терминалов в одной машине не сильно волнует практически (у меня есть свой сетевой софт для этого), а все, кто читал тему и хотел подумать, свои выводы по выбору ОС уже сделали.

 
chv >>:

Ренат, я позволю себе немного поправить Вашу терминалогию: "client's handle table" я бы расценил как таблицу клиентских (пользовательских) дескрипторов, а не системных. Но сути дела по их числу это не меняет. Ниже в этой же статье написано, что объекты делятся на 4 вида:

Я Вас поправил, так как Вы спутали общее количество хендлов с ограниченными системными. На указанном Вами скрине было 21к хендлов, 10 терминалов и четко сформулированное заявление "проблема 16к хендлов решена!" для Windows 2003 x64.


Если в Windows 2008 (в 2003 все по старому) проблема решена, то я только рад. Через несколько дней самостоятельно протестирую, как вернусь из отпуска.

 
Renat писал(а) >>

Если в Windows 2008 (в 2003 все по старому) проблема решена, то я только рад. Через несколько дней самостоятельно протестирую, как вернусь из отпуска.

Хорошо. У Вас наверняка есть машины помощнее, чем мой Athlon X2 RAM 2 Gb, чтобы провести больше тестов и запустить больше терминалов, мне запускать такие личные эксперименты на серверах основной работы не совсем корректно, на мой взгляд. Если потом отпишитесь о результатах Ваших тестов, интересующиеся этой темой скажут Вам "спасибо".

Кстати, может это самопальный и неверный способ определения числа клиентских дескрипторов, но всё же рискну предложить его на рисунке:

Придумал это быстро "от балды" ;), наверняка всё вычисляется сложнее.

 
Renat писал(а) >>

Если в Windows 2008 (в 2003 все по старому) проблема решена, то я только рад. Через несколько дней самостоятельно протестирую, как вернусь из отпуска.

Вспомнил про эту тему.

Ренат, Вам удалось провести тесты на Windows Server 2008 с большим числом терминалов? Интересны объективные результаты массовых тестов.

Сейчас у Microsoft появились бета-дистритутивы двух систем: Windows 7 Beta и Windows Server 2008 R2 Beta 1. Обе истекут (expired) летом 2009г., поэтому долгой их работу не назовёшь, пока не решил, стоит ли тратить своё время на их установку в VM. Но с Windows Server 2008 можно вполне работать.

 
chv >>:

Вспомнил про эту тему.

Ренат, Вам удалось провести тесты на Windows Server 2008 с большим числом терминалов? Интересны объективные результаты массовых тестов.

К сожалению, после праздников совершенно забыл про тестирование на Windows 2008. Попробуйте сами, пожалуйста.

 

Кому интересно - скачал 06.02.2009 версию Windows 7 Ultimate x86 EN Beta с download.microsoft.com, поставил её в VMware 6.5.0, в ней запустил терминал, текущий build 220.

Все функции, какие попробовал, работают: открытие счёта, окно просмотр котировок, прогон тестера, запуск редактора, компиляция эксперта MACD Sample.
Есть одна проблема - если включить RU интерфейс, то терминал отображает "крокозябры", в самой системе русский есть, Ru-страницы видны в браузере. Терминалу не хватает, видимо, какого шрифта.

О системе - дал ей RAM 1 Гб, в свободном состоянии без приложений монитор ресурсов даёт 42% memory used. После запуска одного терминала с не загруженной историей (не закачивал по F2) в плане памяти ничего не изменилось, те же 42% заняты. В целом первое впечатление благоприятное.


Windows 7 with MetaTrader 4

 
Поставил не на вмваре, а установил полностью на компьютер Windows 7 Ultimate x86 EN Beta, запустил 44 терминала, больше не стал, хотя еще можно было позапускать, тормозов таких нету, скорее всего изза того что выходные, и нет тиков. запускал со стандартными настройками, как после установки, с четырьмя парами в каждом терминале. Русские буквы будут, если установить некоторые фиксы в систему. Скрины прилагаю.

 

 

 
SergCH писал(а) >>
Поставил не на вмваре, а установил полностью на компьютер Windows 7 Ultimate x86 EN Beta, запустил 44 терминала

Отлично, хороший эксперимент. Потом придётся Вам снести её, когда триал закончится, но 44 терминала - это сильно, однозначно.

По поводу русского - Ваш пример сподвиг меня на эксперимент. Я прогонял Windows 7 на Windows Update, она закачала пару обновлений, написала, что Windows ip up to date, т.е. всё свежее, но русский в терминале был по-прежнему кривой.

Суть в том, что нужно в региональных настройках поменять Current system locale с English-US на Russian. Затем reboot и с русским в терминале всё в порядке. То же самое и в XP было, если после установки не выставить нужный non-Unicode language, были ошибки в локализации. Процедура старая, забыл уже про неё.

Причина обращения: