Inhoud

Inleiding

Probleem

Problemen oplossen

Oplossing

Inleiding

In dit document wordt het probleem beschreven met betrekking tot sessgor die naar WARN-status gaat vanwege het enorme aantal HTTP-stromen. Dit probleem wordt gemeld op Cisco Aggregated Service Routers (ASR) 5x00.

Probleem

De status Sessmgr is WARN en veel geheugen gebruikt.

******** show task resources *******

Thursday July 24 17:44:58 IST 2014

task   cputime        memory     files      sessions

cpu facility      inst used allc   used  alloc used allc  used  allc S status

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

4/0 sessmgr          3  26% 100%  1.86G  1.86G   34  500  1766 28160 I   warn

Deze foutmeldingen worden in het proces gegenereerd.Er is geen impact van de abonnee door dit foutlog. Zoals per ontwerp wanneer de oproep van sessmgr wordt afgewezen, wat in WARN state is, probeert het systeem op verschillende niveaus en gaat de oproep door.

[sessmgr 10018 error] [4/0/6812 <sessmgr:3> sessmgr_func.c:44683] [software internal system syslog] Sessmgr-3 full (35200 effective number of calls, 1777 calllines in use, 51146 free flows, 31221 free aaa_sessions, 1777 used-mem-credits, 1777 used-sess-credits, 1948360 mem-usage, 1945600 mem-limit, 0 ecs-queue-usage, 70400 ecs-queue-limit, 16850 ecs-num-flows, 400000 ecs-max-flows, 2334720 ecs-mem-limit[ecs-flow/mem-values:valid], 0x86 limit-flags) - call rejected

Problemen oplossen

De opname geeft uitvoer van ondersteuningsdetails en controleer of de opdrachtoutput naar verdere probleemoplossing leidt.

Het geheugenprobleem is gerelateerd aan de hoeveelheid stromen die de sessmgr hanteert. De correlatie kan worden waargenomen tussen een hoge geheugenconsumptie en een hoge hoeveelheid stromen.

******** debug acsmgr show memory usage *******

Thursday July 24 17:50:06 IST 2014

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

!                !               Caches Count              !

Instance Memory !      Flows     !   Callline    Data-Session  TCP OOO     !

! Current    Max ! Total   Free  Total   Free  Total   Free!

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

1 865.68M  43365  64360     5500   1178  56140  12775   1102   1064

2 852.05M  43879  64767     5500   1178  60150  16271   1102   1067

3 1902.68M  17252 276519    4400   2631  44110  26858    551    541

Verzamel voor getroffen sessmgrs (en voor één onaangetast) deze opdrachtoutput, waarbij x de Sessmgr-instantie is.

show messenger proclet facility sessmgr instance <x> heap

show messenger proclet facility sessmgr instance <x> system heap

task core facility sessmgr instance <x>

show active-charging flows instance <x>

show profile facility sessmgr active depth 8 head 201

show task resources faciltity sessmgr instance <x> max

Controleer of ongeoptimaliseerde regels en groepen regelaars veel geheugen verbruiken.

debug acsmgr show rule-optimization-information

debug acsmgr show grp-of-rdef-optimization-information

Het hoogste geheugenverbruik is toe te schrijven aan deze functies op basis van de opdrachtoutput.

acs_http_pkt_inspection()

acsmgr_alloc_buffer()

snx_add_dbufs()

sn_aaa_alloc_session_block()

sgx_imsa_bind_user()

U kunt ook Max. aantal gelijktijdige HTTP-stromen die door Call-regels zijn bereikt controleren

******** debug acsmgr show flow-stats max-simultaneous-flows http *******

Thursday July 24 17:50:04 IST 2014

Histogram of Max No of Simultaneous HTTP Flows attained by Calllines

No Of Flows             No Of Calllines

1 to 10                 964712518

11 to 20                384105002

21 to 40                232987189

41 to 100               148938918

101 to 200              115919586

201 to 500              86729303

501 to 1000             69975385

1001 to 2000            59635906

2001 to 5000            50743511

5001 to 10000           44566999

> 10000                 1044671491

******** debug acsmgr show flow-stats cumulative http *******

Thursday July 24 17:50:03 IST 2014

Histogram of Total Cumulative HTTP Flows by Calllines

No Of Flows             No Of Calllines

1 to 10                 964712485

11 to 20                384104980

21 to 40                232987175

41 to 100               148938911

101 to 200              115919583

201 to 500              86729297

501 to 1000             69975377

1001 to 2000            59635907

2001 to 5000            50743509

5001 to 10000           44567004

> 10000                 1044671452

Je kunt concluderen dat er een groot aantal HTTP sessies worden toegewezen en dit kan te wijten zijn aan het zware HTTP-verkeer. Er zijn ook bijna 1044671491 calllines, die meer dan 10000 HTTP-stromen tegelijk hebben. Dit leidt tot veel geheugen gebruik.

Oplossing

U hebt de CLI om het aantal stromen per abonnee te beperken

flow limit-across-applications

Cisco zou flow limit-over-applicaties naar 5000 adviseren zoals aanbevolen onder alle aangetaste regelbases waar een groot aantal HTTP-verkeer kan worden gezien.

Dit is de procedure om de opdracht te configureren

In local context under Global configuration.

# active-charging service ECS

(config-acs)# rulebase GOLIVE

(config-rule-base)# flow limit-across-applications 5000

Meer informatie over deze opdracht.

stromen over de grenzen heen toepassingen

Met deze opdracht kunt u het totale aantal gelijktijdige stromen per Subscriber/APN die naar een regelbasis wordt verzonden beperken ongeacht het stroomtype of de limietstromen die gebaseerd zijn op het protocoltype onder de functie Sessiebeheer.

Product:

ACS

Voorrecht:

Beveiligingsbeheerder, beheerder

Modus:

Exec > ACS Configuration> Rulebase Configuration

active-charging service service_name > rulebase rulebase_name

Entering the above command sequence results in the following prompt:

[local]host_name(config-rule-base)#

Syntax

flow limit-across-applications { limit | non-tcp limit | tcp limit }no flow limit-across-applications [ non-tcp | tcp ] no

Indien eerder geconfigureerd, verwijdert u de configuratie van de flow-over-applicaties uit de huidige regelbasis.

stromen limiet voor alle toepassingen

Specificeert het maximum aantal stromen over alle toepassingen voor de regelbasis.

de grenswaarde moet een geheel van 1 tot 4000000000 zijn.

Standaard: Geen limieten

niet-tcp-limiet

Specificeert de maximumgrens van niet-TCP type stromen.

de grenswaarde moet een geheel van 1 tot 4000000000 zijn.

Standaard: Geen limieten

tcp - limiet

Specificeert de maximumgrens van TCP stromen.

de grenswaarde moet een geheel van 1 tot 4000000000 zijn.

Standaard: Geen limieten

Gebruik:

Gebruik deze opdracht om het totale aantal stromen te beperken die voor een regelbasis zijn toegestaan ongeacht stroomtype, of grensstromen gebaseerd op protocol-niet-TCP (verbinding-minder) of TCP (verbinding-georiënteerd).

Als een abonnee probeert deze limieten te overschrijden, verwijdert het systeem de pakketten van nieuwe flow. Deze grensverwerking van deze opdracht heeft de volgende aspecten voor UDP, TCP, ICMP en sommige van de vrijgestelde stromen:

- UDP/ICMP: Het systeem wacht op de flow timeout voordat het de teller aanpast en het van het aantal stromen verwijdert.

- TCP: Na een TCP flow ends, wacht het systeem een korte tijd om de hertransmissie van gemiste pakketjes van één kant aan te passen. TCP stromen die zijn beëindigd, maar nog in een wachttijd zijn voor tijdelijke uitvoer zijn vrijgesteld van deze limietverwerking.

- Vrijgestelde stromen: Het systeem heft alle andere stromen vrij die zijn gespecificeerd met de opdracht flow-limit-for-flow-type in de ACS Charging Action Configuration-modus ingesteld op nee.

Voorbeeld:

Deze opdracht definieert het maximale aantal stromen van 200000 voor de regelbasis:

flow limit-across-applications 200000