Место для хранения Кэш записи и скорость записи

Привет, ребята, я работал на моем NAS, который использует сервер 2012r2 с дисковыми пространствами.

  • диски есть в продаже диски 7200 об / мин
  • диски зашифрованы с помощью битлокера
  • диски имеют 8-ми дисковую схему контроля четности

У меня такой вопрос. Используя многоканальный протокол SMB, я смог передать файл размером 500 МБ примерно за 2,5 секунды со скоростью примерно 200 МБ в секунду на свой NAS, но я вижу, что NAS копирует этот файл на диск в течение следующих 10 секунд. Почему копирование на диск занимает столько времени? Конечно, 8 дисков в хранилище могут записывать более 20-40 МБ в секунду ...

Использование сети вверху, использование диска внизу

Проблема возникает, когда я пытаюсь записать на сервер огромные файлы размером 3+ ГБ поскольку скорость передачи снизится с 200 МБ / с до почти 0, пока он записывает на диск все, что было кэшировано. Затем на Spoke2 я пытаюсь использовать сообщения

bin / activemq consumer --brokerUrl tcp: //0.0.0.0: 61616 --destination queue: // maker-214 Я вижу, что 100 сообщений поставлены в очередь на Spoke1, но мой потребитель не видит ни одного сообщения и просто ждет в таком виде

INFO | Подключение к URL: tcp: //0.0.0.0: 61616 (null: null) ИНФОРМАЦИЯ | Очередь потребления: // производитель-214 ИНФОРМАЦИЯ | Сон между получает 0 мс ИНФОРМАЦИЯ | Запуск 1 параллельного потока ИНФОРМАЦИЯ | потребитель-1 ждет, пока не будет использовано 1000 сообщений Моя конфигурация для Spoke1 / 2 идентична, за исключением имени брокера. следующая конфигурация для Spoke2:

http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http: / /activemq.apache.org/schema/core/activemq-core.xsd[1174060 impression">[1225 visiblefile:${activemq.conf}/credentials.properties Элемент используется для настройки брокера ActiveMQ. ->

<destinationPolicy>
    <policyMap>
      <policyEntries>
        <policyEntry topic=">" >
            <!-- The constantPendingMessageLimitStrategy is used to prevent
                 slow topic consumers to block producers and affect other consumers
                 by limiting the number of messages that are retained
                 For more information, see:

                 http://activemq.apache.org/slow-consumer-handling.html

            -->
          <pendingMessageLimitStrategy>
            <constantPendingMessageLimitStrategy limit="1000"/>
          </pendingMessageLimitStrategy>
        </policyEntry>
      </policyEntries>
    </policyMap>
</destinationPolicy>

<networkConnectors>
    <networkConnector uri="static:(tcp://172.31.10.24:61616)?transport.useInactivityMonitor=false" duplex="true"/>
</networkConnectors>

<!--
    Configure message persistence for the broker. The default persistence
    mechanism is the KahaDB store (identified by the kahaDB tag).
    For more information, see:

    http://activemq.apache.org/persistence.html
-->
<persistenceAdapter>
    <kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>


  <!--
    The systemUsage controls the maximum amount of space the broker will
    use before disabling caching and/or slowing down producers. For more information, see:
    http://activemq.apache.org/producer-flow-control.html
  -->
  <systemUsage>
    <systemUsage>
        <memoryUsage>
            <memoryUsage percentOfJvmHeap="70" />
        </memoryUsage>
        <storeUsage>
            <storeUsage limit="100 gb"/>
        </storeUsage>
        <tempUsage>
            <tempUsage limit="50 gb"/>
        </tempUsage>
    </systemUsage>
</systemUsage>
<transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

<!-- destroy the spring context on shutdown to stop jetty -->
<shutdownHooks>
    <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
</shutdownHooks>

Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details
-->
<import resource="jetty.xml"/>
</beans>

Любая помощь будет принята с благодарностью

С уважением

1
задан 17 February 2016 в 03:37
1 ответ

Проблема заключалась в том, что у меня был networkTTL = 1, как только я установил networkTTL = 2 в коннекторе metwork, сообщения можно было читать с луча2

Спасибо

1
ответ дан 3 December 2019 в 23:51