Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Best Tunning | Help Request

  1. #1

    Question Best Tunning | Help Request

    Hi

    I would like some suggestion , my wowza was running fine, but today wowza stopped and after restart I noticed some memory problems ( wowza stopped after 3 hours and had to be restarted )

    Curently my wms installation handle 300 shoutcast relays. Max number of connections ( listenning ) is 1500

    Here info:

    sevenv.sh
    #!/bin/sh

    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx6000M"

    # Uncomment to run server environment (faster), Note: will only work if server VM install, comes with JDL
    JAVA_OPTS="$JAVA_OPTS -server"

    # Can be a better GC setting to avoid long pauses
    JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:NewSize=512m"

    # Uncomment to force Java to use specific language settings
    #JAVA_OPTS="$JAVA_OPTS -Duser.language=en -Duser.country=US"

    # Uncomment to fix multicast crosstalk problem when streams share multicast port
    JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

    WMSAPP_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_URL=

    export WMSAPP_HOME WMSCONFIG_HOME JAVA_OPTS _EXECJAVA

    ------------------------------------------------------------

    java version "1.6.0_22"
    OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.25.1.10.6.el5_8-x86_64)
    OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

    --------------------------------------------------------------

    RAM 16GB

    -----------------------------------------------------------------

    [root@server ~]# less /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 0
    cpu cores : 4
    apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.87
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 1
    cpu cores : 4
    apicid : 2
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.57
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 2
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 2
    cpu cores : 4
    apicid : 4
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.61
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 3
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 2934.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 3
    cpu cores : 4
    apicid : 6
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.58
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 4
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 0
    cpu cores : 4
    apicid : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.57
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 5
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 1
    cpu cores : 4
    apicid : 3
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.49
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 6
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 2
    cpu cores : 4
    apicid : 5
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.57
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    processor : 7
    vendor_id : GenuineIntel
    cpu family : 6
    model : 30
    model name : Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz
    stepping : 5
    cpu MHz : 1200.000
    cache size : 8192 KB
    physical id : 0
    siblings : 8
    core id : 3
    cpu cores : 4
    apicid : 7
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
    bogomips : 5866.49
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management: [8]

    Thanks in advance for your help, this forum is such cooperative

    Ed
    Last edited by tribalhost; 03-22-2013 at 05:30 AM.

  2. #2
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    You can find the tuning guide here,
    http://www.wowza.com/forums/content....ormance-tuning

    As you have 16GB RAM you can allocate 8000M to Wowza as shown in the tuning guide
    If you have 16 GB or more RAM, we suggest a heap size of 8000 MB.
    Obviously I haven't seen the VHost.xml and this should be tuned based on 8 processors being available.
    1500 inbound streams is very high and I would recommend sharing the load with another server.

    Are your clients also connecting to this server to listen to the streams?
    If so what kind of client load are you looking at?

    Jason

  3. #3

    Default

    Thanks for your reply JasonH

    I made a mistake at my original post

    my wms installation handle 300 shoutcast relays. Max number of connections ( listenning ) is 1500.

    Is possible for you to provide my an example about sevenv.sh.

    Here how wms is working, at beggining started using 2GB


    top - 01:37:23 up 21:07, 1 user, load average: 2.50, 2.86, 3.04
    Tasks: 182 total, 1 running, 181 sleeping, 0 stopped, 0 zombie
    Cpu(s): 24.5%us, 1.0%sy, 0.0%ni, 73.6%id, 0.0%wa, 0.0%hi, 0.9%si, 0.0%st
    Mem: 16427348k total, 6107836k used, 10319512k free, 111744k buffers
    Swap: 1999864k total, 0k used, 1999864k free, 4817760k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    10357 root 25 0 1769m 890m 10m S 205.9 5.6 1823:56 java

    Here my Vhost

    <Root>
    <VHost>
    <HostPortList>
    <HostPort>
    <ProcessorCount>8</ProcessorCount>
    <IpAddress>*</IpAddress>
    <!-- Separate multiple ports with commas -->
    <!-- 80: HTTP, RTMPT -->
    <!-- 554: RTSP -->
    <Port>1935,554</Port>
    <SocketConfiguration>
    <ReuseAddress>true</ReuseAddress>
    <!-- suggested settings for video on demand applications -->
    <ReceiveBufferSize>24000</ReceiveBufferSize>
    <SendBufferSize>65000</SendBufferSize>
    <!-- suggest settings for low latency chat and video recording applications
    <ReceiveBufferSize>16000</ReceiveBufferSize>
    <SendBufferSize>16000</SendBufferSize>
    -->
    <KeepAlive>true</KeepAlive>
    <!-- <TrafficClass>0</TrafficClass> -->
    <!-- <OobInline>false</OobInline> -->
    <!-- <SoLingerTime>-1</SoLingerTime> -->
    <!-- <TcpNoDelay>false</TcpNoDelay> -->
    <AcceptorBackLog>100</AcceptorBackLog>
    </SocketConfiguration>
    <HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming</HTTPStreamerAdapterIDs>
    <HTTPProviders>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
    <RequestFilters>*crossdomain.xml</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
    <RequestFilters>*clientaccesspolicy.xml</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    <RequestFilters>*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    </HTTPProviders>
    </HostPort>

    <!-- 443 with SSL -->
    <!--
    <HostPort>
    <ProcessorCount>8</ProcessorCount>
    <IpAddress>*</IpAddress>
    <Port>443</Port>
    <SSLConfig>
    <KeyStorePath>${com.wowza.wms.context.VHostConfigHome}/conf/keystore.cert</KeyStorePath>
    <KeyStorePassword>[password]</KeyStorePassword>
    <KeyStoreType>JKS</KeyStoreType>
    <SSLProtocol>TLS</SSLProtocol>
    <Algorithm>SunX509</Algorithm>
    <CipherSuites></CipherSuites>
    <Protocols></Protocols>
    </SSLConfig>
    <SocketConfiguration>
    <ReuseAddress>true</ReuseAddress>
    <ReceiveBufferSize>24000</ReceiveBufferSize>
    <SendBufferSize>65000</SendBufferSize>
    <KeepAlive>true</KeepAlive>
    <AcceptorBackLog>100</AcceptorBackLog>
    </SocketConfiguration>
    <HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming</HTTPStreamerAdapterIDs>
    <HTTPProviders>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
    <RequestFilters>*clientaccesspolicy.xml</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
    <RequestFilters>*crossdomain.xml</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    <RequestFilters>*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    </HTTPProviders>
    </HostPort>
    -->

    <!-- Admin HostPort -->
    <HostPort>
    <ProcessorCount>1</ProcessorCount>
    <IpAddress>*</IpAddress>
    <Port>8086</Port>
    <SocketConfiguration>
    <ReuseAddress>true</ReuseAddress>
    <ReceiveBufferSize>16000</ReceiveBufferSize>
    <SendBufferSize>16000</SendBufferSize>
    <KeepAlive>true</KeepAlive>
    <AcceptorBackLog>100</AcceptorBackLog>
    </SocketConfiguration>
    <HTTPStreamerAdapterIDs></HTTPStreamerAdapterIDs>
    <HTTPProviders>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.streammanager.HTTPStreamManager</BaseClass>
    <RequestFilters>streammanager*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
    <RequestFilters>serverinfo*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPConnectionInfo</BaseClass>
    <RequestFilters>connectioninfo*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPConnectionCountsXML</BaseClass>
    <RequestFilters>connectioncounts*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail</BaseClass>
    <RequestFilters>transcoderthumbnail*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
    <RequestFilters>medialist*</RequestFilters>
    <AuthenticationMethod>admin-digest</AuthenticationMethod>
    </HTTPProvider>
    <HTTPProvider>
    <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    <RequestFilters>*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    </HTTPProviders>
    </HostPort>

    </HostPortList>

    <HTTPStreamerAdapters>
    <HTTPStreamerAdapter>
    <ID>smoothstreaming</ID>
    <Name>smoothstreaming</Name>
    <Properties>
    </Properties>
    </HTTPStreamerAdapter>
    <HTTPStreamerAdapter>
    <ID>cupertinostreaming</ID>
    <Name>cupertinostreaming</Name>
    <Properties>
    </Properties>
    </HTTPStreamerAdapter>
    <HTTPStreamerAdapter>
    <ID>sanjosestreaming</ID>
    <Name>sanjosestreaming</Name>
    <Properties>
    </Properties>
    </HTTPStreamerAdapter>
    <HTTPStreamerAdapter>
    <ID>dvrchunkstreaming</ID>
    <Name>dvrchunkstreaming</Name>
    <Properties>
    </Properties>
    </HTTPStreamerAdapter>
    </HTTPStreamerAdapters>

    <HandlerThreadPool>
    <PoolSize>240</PoolSize>
    </HandlerThreadPool>
    <TransportThreadPool>
    <PoolSize>160</PoolSize>
    </TransportThreadPool>
    <IdleWorkers>
    <WorkerCount>8</WorkerCount>
    <CheckFrequency>50</CheckFrequency>
    <MinimumWaitTime>5</MinimumWaitTime>
    </IdleWorkers>
    <NetConnections>
    <ProcessorCount>8</ProcessorCount>
    <IdleFrequency>250</IdleFrequency>
    <SocketConfiguration>
    <ReuseAddress>true</ReuseAddress>
    <ReceiveBufferSize>65000</ReceiveBufferSize>
    <SendBufferSize>24000</SendBufferSize>
    <KeepAlive>true</KeepAlive>
    <!-- <TrafficClass>0</TrafficClass> -->
    <!-- <OobInline>false</OobInline> -->
    <!-- <SoLingerTime>-1</SoLingerTime> -->
    <!-- <TcpNoDelay>false</TcpNoDelay> -->
    <AcceptorBackLog>100</AcceptorBackLog>
    </SocketConfiguration>
    </NetConnections>
    <HTTPTunnel>
    <KeepAliveTimeout>2000</KeepAliveTimeout>
    </HTTPTunnel>
    <Client>
    <ClientTimeout>90000</ClientTimeout>
    <IdleFrequency>250</IdleFrequency>
    </Client>
    <!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
    <RTP>
    <IdleFrequency>75</IdleFrequency>
    <DatagramConfiguration>
    <Incoming>
    <ReuseAddress>true</ReuseAddress>
    <ReceiveBufferSize>1024000</ReceiveBufferSize>
    <SendBufferSize>65000</SendBufferSize>
    <!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
    <!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
    <!-- <TrafficClass>0</TrafficClass> -->
    <MulticastTimeout>50</MulticastTimeout>
    <DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
    </Incoming>
    <Outgoing>
    <ReuseAddress>true</ReuseAddress>
    <ReceiveBufferSize>65000</ReceiveBufferSize>
    <SendBufferSize>65000</SendBufferSize>

    <!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
    <!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
    <!-- <TrafficClass>0</TrafficClass> -->
    <MulticastTimeout>50</MulticastTimeout>
    <DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
    </Outgoing>
    </DatagramConfiguration>
    <UnicastIncoming>
    <ProcessorCount>4</ProcessorCount>
    </UnicastIncoming>
    <UnicastOutgoing>
    <ProcessorCount>8</ProcessorCount>
    </UnicastOutgoing>
    <MulticastIncoming>
    <ProcessorCount>4</ProcessorCount>
    </MulticastIncoming>
    <MulticastOutgoing>
    <ProcessorCount>4</ProcessorCount>
    </MulticastOutgoing>
    </RTP>
    <Application>
    <ApplicationTimeout>60000</ApplicationTimeout>
    <PingTimeout>12000</PingTimeout>
    <ValidationFrequency>20000</ValidationFrequency>
    <MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
    <MaximumSetBufferTime>60000</MaximumSetBufferTime>
    </Application>
    <StartStartupStreams>true</StartStartupStreams>
    <!-- Properties defined here will be added to the IVHost.getProperties() collection -->
    <Properties>
    </Properties>
    </VHost>
    </Root>


    Thanks so much for help

    Ed

  4. #4
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    You should read the tuning guide I linked above,
    You have 8 cores available as shown in you original post.

    The tuning guide states:
    HostPort/ProcessorCount: 2x[total-core-count] (maximum of 24) Note: The HostPort/ProcessorCount field in the Admin HostPort (/Port "8086") should not be modified.
    IdleWorkers/WorkerCount: 2x[total-core-count] (maximum of 24)

    NetConnections/ProcessorCount: 2x[total-core-count] (maximum of 24)

    RTP/DatagramConfiguration/UnicastIncoming/ProcessorCount: [total-core-count] (maximum of 12)
    RTP/DatagramConfiguration/UnicastOutgoing/ProcessorCount: 2x[total-core-count] (maximum of 24)

    RTP/DatagramConfiguration/MulticastIncoming/ProcessorCount: [total-core-count] (maximum of 12)
    RTP/DatagramConfiguration/MulticastOutgoing/ProcessorCount: [total-core-count] (maximum of 12)

    HandlerThreadPool/PoolSize: (60x[total-core-count]) (maximum of 480)
    TransportThreadPool/PoolSize: (40x[total-core-count]) (maximum of 320)
    In the VHost.xml:
    where you have 8 change to 16
    where you have 4 change to 8

    Also you need to change the HandlerThreadPool and TransportThreadPool as shown above.
    Yours should look like this:
    <HandlerThreadPool>
    <PoolSize>480</PoolSize>
    </HandlerThreadPool>
    <TransportThreadPool>
    <PoolSize>320</PoolSize>
    </TransportThreadPool>
    In the setenv.sh you have:
    set JAVA_OPTS="-server -Xmx6000M"
    Change to
    set JAVA_OPTS="-server -Xmx8000M"
    Jason

  5. #5

    Default

    Thanks for you reply JasonH

    I didnt notice that ( processor - cores )

    Beefore your last post, wowza crushed again

    I follow http://www.wowza.com/forums/showthre...6050#post86050

    My sevenv.sh is

    #!/bin/sh
    
    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx7000M"
    
    # Uncomment to run server environment (faster), Note: will only work if server VM install, comes with JDL
    JAVA_OPTS="$JAVA_OPTS -server"
    
    # Can be a better GC setting to avoid long pauses
    JAVA_OPTS="-Xmx8000M -Xms8000M -XX:+UseConcMarkSweepGC -XX:NewRatio=1 -Xss256k -XX:+AlwaysPreTouch -XX:+CMSScavengeBeforeRemark -XX:ParallelCMSThreads=4 -XX:ParallelGCThreads=4" 
    
    # Uncomment to force Java to use specific language settings
    #JAVA_OPTS="$JAVA_OPTS -Duser.language=en -Duser.country=US"
    
    # Uncomment to fix multicast crosstalk problem when streams share multicast port
    JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
    
    WMSAPP_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_URL=
    
    export WMSAPP_HOME WMSCONFIG_HOME JAVA_OPTS _EXECJAVA
    and Im receiving a different lecture from my wms. Now server is using 14GB RAM instead 6GB

    top - 03:23:39 up 22:54, 1 user, load average: 3.74, 3.81, 3.54
    Tasks: 184 total, 1 running, 183 sleeping, 0 stopped, 0 zombie
    Cpu(s): 21.6%us, 3.9%sy, 0.0%ni, 72.2%id, 0.0%wa, 0.0%hi, 2.2%si, 0.0%st
    Mem: 16427348k total, 14115952k used, 2311396k free, 116028k buffers
    Swap: 1999864k total, 0k used, 1999864k free, 5175916k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    14703 root 18 0 8769m 8.1g 10m S 210.0 51.9 98:34.51 java

    So, appealing your experience. and beside Vhost modifications, This new sevenv.sh is better than the original.

    Thanks

    Ed

  6. #6
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    I see you have changed the memory from 6GB:
    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx6000M"
    You now have 7GB:
    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx7000M"
    You can make this 8GB if you like:
    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx8000M"
    You had for your GC settings this line:
    # Can be a better GC setting to avoid long pauses
    JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:NewSize=512m"
    Now you have this:
    # Can be a better GC setting to avoid long pauses
    JAVA_OPTS="-Xmx8000M -Xms8000M -XX:+UseConcMarkSweepGC -XX:NewRatio=1 -Xss256k -XX:+AlwaysPreTouch -XX:+CMSScavengeBeforeRemark -XX:ParallelCMSThreads=4 -XX:ParallelGCThreads=4"
    Why have you replaced $JAVA_OPTS with Xmx8000M -Xms8000M?
    You should change this back to what you had before as it allows the amount memory already allocated to Wowza to be used.

    Jason

  7. #7

    Default

    I would like to thanks all your help in this matter JasonH

    Well according with you advise. Proper conf would be( I made all changes you advice):


    sevenv.sh

    #!/bin/sh
    
    _EXECJAVA=java
    set JAVA_OPTS="-server -Xmx8000M"
    
    # Uncomment to run server environment (faster), Note: will only work if server VM install, comes with JDL
    JAVA_OPTS="$JAVA_OPTS -server"
    
    # Can be a better GC setting to avoid long pauses
    JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC -XX:NewSize=512m"
    
    # Uncomment to force Java to use specific language settings
    #JAVA_OPTS="$JAVA_OPTS -Duser.language=en -Duser.country=US"
    
    # Uncomment to fix multicast crosstalk problem when streams share multicast port
    JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
    
    WMSAPP_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_HOME=/usr/local/WowzaMediaServer
    WMSCONFIG_URL=
    
    export WMSAPP_HOME WMSCONFIG_HOME JAVA_OPTS _EXECJAVA
    Btw:
    JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:NewSize=512m"
    had duplicated stuff

    I changed for:
    JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseParNewGC -XX:NewSize=512m"
    VHOST

    <Root>
    	<VHost>
    		<HostPortList>
    			<HostPort>
    				<ProcessorCount>16</ProcessorCount>
    				<IpAddress>*</IpAddress>
    				<!-- Separate multiple ports with commas -->
    				<!-- 80: HTTP, RTMPT -->
    				<!-- 554: RTSP -->
    				<Port>1935,554</Port>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<!-- suggested settings for video on demand applications -->
    					<ReceiveBufferSize>24000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    					<!-- suggest settings for low latency chat and video recording applications
    					<ReceiveBufferSize>16000</ReceiveBufferSize>
    					<SendBufferSize>16000</SendBufferSize>
    					-->
    					<KeepAlive>true</KeepAlive>
    					<!-- <TrafficClass>0</TrafficClass> -->
    					<!-- <OobInline>false</OobInline> -->
    					<!-- <SoLingerTime>-1</SoLingerTime> -->
    					<!-- <TcpNoDelay>false</TcpNoDelay> -->
    					<AcceptorBackLog>100</AcceptorBackLog>
    				</SocketConfiguration>
    				<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming</HTTPStreamerAdapterIDs>
    				<HTTPProviders>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
    						<RequestFilters>*crossdomain.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
    						<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</HostPort>
    			
    			<!-- 443 with SSL -->
    			<!--
    			<HostPort>
    				<ProcessorCount>16</ProcessorCount>
    				<IpAddress>*</IpAddress>
    				<Port>443</Port>
    				<SSLConfig>
    					<KeyStorePath>${com.wowza.wms.context.VHostConfigHome}/conf/keystore.cert</KeyStorePath>
    					<KeyStorePassword>[password]</KeyStorePassword>
    					<KeyStoreType>JKS</KeyStoreType>
    					<SSLProtocol>TLS</SSLProtocol>
    					<Algorithm>SunX509</Algorithm>
    					<CipherSuites></CipherSuites>
    					<Protocols></Protocols>
    				</SSLConfig>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>24000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    					<KeepAlive>true</KeepAlive>
    					<AcceptorBackLog>100</AcceptorBackLog>
    				</SocketConfiguration>
    				<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming</HTTPStreamerAdapterIDs>
    				<HTTPProviders>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
    						<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
    						<RequestFilters>*crossdomain.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</HostPort>
    			-->
    			
    			<!-- Admin HostPort -->
    			<HostPort>
    				<ProcessorCount>1</ProcessorCount>
    				<IpAddress>*</IpAddress>
    				<Port>8086</Port>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>16000</ReceiveBufferSize>
    					<SendBufferSize>16000</SendBufferSize>
    					<KeepAlive>true</KeepAlive>
    					<AcceptorBackLog>100</AcceptorBackLog>
    				</SocketConfiguration>
    				<HTTPStreamerAdapterIDs></HTTPStreamerAdapterIDs>
    				<HTTPProviders>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.streammanager.HTTPStreamManager</BaseClass>
    						<RequestFilters>streammanager*</RequestFilters>
    						<AuthenticationMethod>admin-digest</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
    						<RequestFilters>serverinfo*</RequestFilters>
    						<AuthenticationMethod>admin-digest</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPConnectionInfo</BaseClass>
    						<RequestFilters>connectioninfo*</RequestFilters>
    						<AuthenticationMethod>admin-digest</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPConnectionCountsXML</BaseClass>
    						<RequestFilters>connectioncounts*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail</BaseClass>
    						<RequestFilters>transcoderthumbnail*</RequestFilters>
    						<AuthenticationMethod>admin-digest</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
    						<RequestFilters>medialist*</RequestFilters>
    						<AuthenticationMethod>admin-digest</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</HostPort>
    		
    		</HostPortList>
    		
    		<HTTPStreamerAdapters>
    			<HTTPStreamerAdapter>
    				<ID>smoothstreaming</ID>
    				<Name>smoothstreaming</Name>
    				<Properties>
    				</Properties>
    			</HTTPStreamerAdapter>
    			<HTTPStreamerAdapter>
    				<ID>cupertinostreaming</ID>
    				<Name>cupertinostreaming</Name>
    				<Properties>
    				</Properties>
    			</HTTPStreamerAdapter>
    			<HTTPStreamerAdapter>
    				<ID>sanjosestreaming</ID>
    				<Name>sanjosestreaming</Name>
    				<Properties>
    				</Properties>
    			</HTTPStreamerAdapter>
    			<HTTPStreamerAdapter>
    				<ID>dvrchunkstreaming</ID>
    				<Name>dvrchunkstreaming</Name>
    				<Properties>
    				</Properties>
    			</HTTPStreamerAdapter>
    		</HTTPStreamerAdapters>
    
    		<HandlerThreadPool>
    			<PoolSize>480</PoolSize>
    		</HandlerThreadPool>
    		<TransportThreadPool>
    			<PoolSize>320</PoolSize>
    		</TransportThreadPool>
    		<IdleWorkers>
    			<WorkerCount>16</WorkerCount>
    			<CheckFrequency>50</CheckFrequency>
    			<MinimumWaitTime>5</MinimumWaitTime>
    		</IdleWorkers>
    		<NetConnections>
    			<ProcessorCount>16</ProcessorCount>
    			<IdleFrequency>250</IdleFrequency>
    			<SocketConfiguration>
    				<ReuseAddress>true</ReuseAddress>
    				<ReceiveBufferSize>65000</ReceiveBufferSize>
    				<SendBufferSize>24000</SendBufferSize>
    				<KeepAlive>true</KeepAlive>
    				<!-- <TrafficClass>0</TrafficClass> -->
    				<!-- <OobInline>false</OobInline> -->
    				<!-- <SoLingerTime>-1</SoLingerTime> -->
    				<!-- <TcpNoDelay>false</TcpNoDelay> -->
    				<AcceptorBackLog>100</AcceptorBackLog>
    			</SocketConfiguration>
    		</NetConnections>
    		<HTTPTunnel>
    			<KeepAliveTimeout>2000</KeepAliveTimeout>
    		</HTTPTunnel>
    		<Client>
    			<ClientTimeout>90000</ClientTimeout>
    			<IdleFrequency>250</IdleFrequency>
    		</Client>
    		<!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
    		<RTP>
    			<IdleFrequency>75</IdleFrequency>
    			<DatagramConfiguration>
    				<Incoming>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>1024000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    					<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
    					<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
    					<!-- <TrafficClass>0</TrafficClass> -->
    					<MulticastTimeout>50</MulticastTimeout>
    					<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
    				</Incoming>
    				<Outgoing>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>65000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    
    
    					<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
    					<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
    					<!-- <TrafficClass>0</TrafficClass> -->
    					<MulticastTimeout>50</MulticastTimeout>
    					<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
    				</Outgoing>
    			</DatagramConfiguration>
    			<UnicastIncoming>
    				<ProcessorCount>8</ProcessorCount>
    			</UnicastIncoming>
    			<UnicastOutgoing>
    				<ProcessorCount>16</ProcessorCount>
    			</UnicastOutgoing>
    			<MulticastIncoming>
    				<ProcessorCount>8</ProcessorCount>
    			</MulticastIncoming>
    			<MulticastOutgoing>
    				<ProcessorCount>8</ProcessorCount>
    			</MulticastOutgoing>
    		</RTP>
    		<Application>
    			<ApplicationTimeout>60000</ApplicationTimeout>
    			<PingTimeout>12000</PingTimeout>
    			<ValidationFrequency>20000</ValidationFrequency>
    			<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
    			<MaximumSetBufferTime>60000</MaximumSetBufferTime>
    		</Application>
    		<StartStartupStreams>true</StartStartupStreams>
    		<!-- Properties defined here will be added to the IVHost.getProperties() collection -->
    		<Properties>
    		</Properties>
    	</VHost>
    </Root>

  8. #8
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    That looks fine now, the tuning is complete.

    Jason

  9. #9

    Default

    Sounds great!

    Will wait until wowza colapse again to restart and make changes work.

    If you dont mind, will update this thread to show results

    I apreciatte your help a lot

    Ed

  10. #10
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    Yes, please do.
    The tuning should prevent the server crashing once you have restarted so tune then takes effect.

    You will need to keep an eye on the amount of inbound streams, this will possibly be the undoing of this server if it was to fail as they're still a published streams.
    I wouldn't recommend more than 250 inbound streams to one server but you can look at increasing the reconnect timer length which will help take some of the stress off the server.

    Add this Property to the "Application.xml/<MediaCaster>/<Properties>"
    <Property> 
    	<Name>reconnectWaitTime</Name> 
    	<Value>10000</Value>
    </Property>
    This is in milliseconds so 10000 is 10 seconds you could go to 20 seconds if required.
    I believe the default is 3 seconds.

    Jason

Page 1 of 2 12 LastLast

Similar Threads

  1. Tunning nDVR playback
    By tavius in forum AddOn: Wowza nDVR
    Replies: 2
    Last Post: 03-12-2013, 06:57 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •