Я пытаюсь точно настроить производительность моего набора приемочных испытаний. Я обнаружил, что большая часть узкого места производительности связана с тем, что файлы хранилища MSMQ находятся на медленном диске VM IO. Я попытался переместить папку MSMQ Storage в RAM DISK, но по какой-то причудливой причине MSMQ выдает ошибку устройства ввода-вывода при попытке создать приватную очередь с помощью «Управление компьютером» в Windows Server 2012 R2. Он отлично работает в Windows 7,8 и 10. Поэтому я действительно не знаю, что проблема с RAM DISKS, MSMQ и Windows 2012 R2.MSMQ экземпляр в памяти
В качестве альтернативы я думал вместо того, чтобы беспокоиться о хранении файлов MSMQ на быстром диске или даже в RAM DISK, почему бы просто не создать новый экземпляр MSMQ в памяти, а затем все мои очереди в памяти ,
Обратите внимание, что этот код будет использоваться только для повышения производительности моего набора тестов приемника nunit. ATM, требуется 2,5 часа (4000 тестов, используя NServiceBUS, MSMQ и RavenDB). Мне удалось переместить все компоненты в RAMDISK, и это сократило время выполнения почти на 40%. То, когда я тестирую его на Windows 7,8,10, используя MSMQ на RAMDISK. Когда я делаю то же самое в Windows 2012 R2, я могу переместить все на RAM-диск, и он отлично работает, но я не могу заставить MSMQ работать с RAMDISK. И как ни странно, я потерял все преимущества производительности, когда MSMQ не находится в RAMDISK. Я думаю, что узкое место ввода-вывода действительно плохое!
Любые советы?
Купите SSD! Чего же ты ждешь? ;) –
Очереди MSMQ * НЕ * постоянны по умолчанию. По умолчанию используется память. Вы должны явно сделать их постоянными при их создании. Не надо –
@ MatíasFidemraizer: Это не так просто. Я работаю в крупной компании, мы используем экземпляры сервера AWS для размещения нашей среды. Команда City размещается на виртуальной машине AWS, и, как уже упоминалось, тестовый пакет работает 2,5 часа. Диски на этой виртуальной машине читают/записывают со скоростью 150 Мбайт/с, с диском на этом сервере, я получаю 5000 МБ/с. – FaNIX