Raygun APM prestatieproblemen vernietigen

De hedendaagse web-apps zijn zorgvuldig ontworpen maar toch onhandelbare beesten, en als je niet oppast, kunnen ze je ontwikkelteam bijten met dure fouten en trage prestaties. 

In werkelijkheid is dit te verwachten. De enorme complexiteit van de hedendaagse web-apps betekent dat elk onderdeel en onderdeel moet worden overwogen. Alles, van slecht presterende SQL-query's tot web API-aanroepen en zelfs oproepen naar externe CDN's van derden, kan problemen veroorzaken voor uw app. Dit betekent dat iedereen die betrokken is bij het ontwikkelen en onderhouden van uw applicaties (inclusief ontwikkelaars, testers, SysOps, etc.) moet samenwerken om ervoor te zorgen dat uw toepassing wordt uitgevoerd met topprestaties.

Uiteraard heeft uw team de nodige hulpmiddelen nodig om de gezondheid van uw toepassing te controleren, en Raygun heeft precies wat u nodig hebt, vooral met de release van Raygun APM.

Raygun is niet nieuw in de monitoringruimte. Raygun biedt al jaren hoogwaardige en gemakkelijk geïntegreerde tools waarmee ontwikkelaars kunnen rekenen op het vinden en analyseren van kostbare applicatiefouten, evenals monitoring en rapportage over UX en prestatieproblemen. Met de release van Raygun APM heeft Raygun een compleet en innovatief platform dat een gecentraliseerde tool biedt om fouten en prestatieproblemen op te sporen, te diagnosticeren en op te lossen, ongeacht waar ze zich voordoen of waardoor ze ontstaan. 

Raygun APM is gelanceerd met eersteklas ondersteuning voor .NET-toepassingen, met ondersteuning voor .NET Core en andere talen en frameworks die binnenkort beschikbaar zijn.

Prestaties volgen

Trage prestaties kunnen worden toegeschreven aan een willekeurig aantal bronnen, zoals trage query's voor externe API's, overmatig gebruik van externe API's en trage tracering en methode-uitvoering, om er maar een paar te noemen. Als u deze problemen alleen of met de verkeerde hulpmiddelen probeert op te sporen, kan dit de productiviteit van uw team gemakkelijk verlagen. 

Raygun APM detecteert deze categorieën automatisch en categoriseert deze correct, waardoor u onmiddellijk en gedetailleerd feedback en inzicht in de prestaties van uw toepassing krijgt.

Het dashboard geeft u een overzicht van de realtime prestaties van uw toepassing, met verrassend diepe maar visuele analytische informatie over de verzoeken die uw toepassing ontvangt en de soorten werk die uw toepassing gebruikt (bijvoorbeeld API-aanroepen, methoden en zoekopdrachten) tijdens elk verzoek. Het markeert de probleempunten van uw toepassing door de traagst presterende stukken van uw toepassing op te sommen, en de Apdex geeft u inzicht in de tevredenheid van uw gebruikers over de responstijd van uw toepassing.

De problemen Raygun APM-tracks worden gegenereerd door een reeks regels die u kunt aanpassen en aanpassen aan uw specifieke behoeften. Als u bijvoorbeeld vindt dat 10 ms te lang is om een ​​SELECT SQL-instructie uit te voeren, kunt u de Raygun APM-regels configureren voor rapportage over alle query's die langer dan 10 ms duren om uit te voeren.

Met Raygun APM kunt u meer informatie krijgen over de details van elk probleem en krijgt u contextuele informatie die specifiek is voor het type probleem dat zich heeft voorgedaan. Het volgende is bijvoorbeeld een screenshot van de verzamelde informatie voor een traag werkende SQL-query.

Niet alleen biedt Raygun APM u de eigenlijke query, maar het laat ook zien wanneer het langzaam werd uitgevoerd, evenals de sporen waar het probleem zich voordeed.

Raygun APM verdeelt elk verzoek ook in zijn verschillende delen, waardoor u een duidelijk beeld krijgt van de prestaties van elke methode, query of andere bronnen die in het verzoek worden gebruikt.

Elk onderdeel van een aanvraag die van invloed is op de prestaties van uw toepassing, wordt vastgelegd, gecatalogiseerd en beschikbaar, compleet met analytische gegevens waarmee uw team kan graven. Raygun APM geeft u de speld in de hooiberg met gegevens - het vindt al de pijnpunten van uw toepassing. Het enige dat uw team hoeft te doen, is ze te repareren.

Integratie met uw workflow

Tegenwoordig gebruiken softwareontwikkelingsteams een verscheidenheid aan services om applicaties te ontwikkelen en te implementeren. Denk aan GitHub en Bitbucket voor het beheren en onderhouden van uw broncode, Jira voor projectbeheer, Slack voor communicatie en zelfs PagerDuty voor het oplossen van incidenten - dit zijn allemaal services die worden gebruikt in moderne softwareontwikkeling om een ​​productief team te faciliteren. Uiteraard kan Raygun APM naadloos worden geïntegreerd met deze en vele andere workflowhulpmiddelen en -services van derden.

Stel je voor dat je een probleem inspecteert dat Raygun APM heeft gevonden op je productenpagina en de broncode kan zien van de actiemethode van de controller - gehuisvest op GitHub of Bitbucket - en een Jira-probleem kan creëren (of een koppeling kan maken met een bestaand probleem) zonder Raygun APM te verlaten. Alles wat u nodig hebt om problemen met leden van uw team te identificeren en toe te wijzen, is binnen handbereik, waardoor de Mean Time To Resolution van prestatieproblemen en softwarefouten in uw toepassingen drastisch wordt verminderd..

Samen met APM biedt Raygun ook crashmeldingen en echte gebruikersmonitoring aan. Samen vormen deze services het Raygun-platform. Uiteraard combineren en delen alle delen van het Raygun Platform gegevens in een naadloze workflow. 

pricing

Als u bekend bent met andere APM-oplossingen, zoals New Relic, bent u zich bewust van de hoge kosten van monitoring van toepassingsprestaties. APM-providers zoals New Relic gebruiken een prijsstructuur per server die het soms onbetaalbaar kan maken om een ​​volledig beeld te krijgen van de prestaties van uw applicaties.

Maar moderne webontwikkeling is veel meer dan alleen code draaien op servers; we maken nu gebruik van containers en microservices om verschillende delen van onze toepassingen beter te compartimenteren en te isoleren. Andere APM-oplossingen benaderen containers en microservices op een opnieuw kostbare manier. New Relic vereist bijvoorbeeld geen licentie voor elke afzonderlijke container, maar hun klanten moeten een licentie aanschaffen voor de server waarop die containers worden uitgevoerd..

Raygun maakt echter gebruik van een ander prijsmodel op basis van het aantal sporen dat ze verwerken voor uw toepassingen. Dit betekent dat u Raygun APM op zoveel servers (zowel fysiek als virtueel) kunt gebruiken als u nodig hebt voor evenveel containers, microservices en applicaties als u wilt controleren - waardoor het veel rendabeler is om een ​​compleet beeld te krijgen van uw applicaties ' prestatie.

Raygun APM is beschikbaar als een op zichzelf staand product, maar het is nog rendabeler om het als een onderdeel van het Raygun-platform te kopen. Met het Raygun-platform krijgt u toegang tot crashmeldingen, echte gebruikersmonitoring en prestatiebewaking die allemaal samenwerken.

Ondersteuning van .NET

Er zijn veel webontwikkelingsplatforms beschikbaar en na al die jaren blijft PHP oppermachtig. Maar .NET is het platform dat wordt gebruikt in zakelijke omgevingen en met de platformonafhankelijke versie van .NET Core groeit de populariteit van .NET snel buiten het bedrijfsleven. Maar helaas richten niet veel APM-providers zich op .NET, waardoor Raygun een enorm gat kan vullen - en ze vullen het zeker.

Met de lancering van Raygun APM kunnen .NET-ontwikkelaars gebruikmaken van de kracht van een APM van wereldklasse om de prestaties van hun applicaties te bewaken. Of uw .NET-toepassing op uw eigen hardware of in een Azure Web App-instantie wordt uitgevoerd, u kunt op Raygun APM vertrouwen om nauwkeurige en gedetailleerde prestatiegegevens te leveren.

Momenteel ondersteunt Raygun APM alleen .NET (niet-Core) -toepassingen, maar er komt binnenkort ondersteuning voor .NET Core en andere niet-Microsoft-talen en -platforms.

Mijn ervaring

Ik maakte van de gelegenheid gebruik om Raygun APM kort te testen op een live, niet-demo-site die ik bij de hand had. Ik wist van tevoren dat de applicatie prestatieproblemen had. Het werd gebouwd binnen een krappe deadline en optimalisatie was niet echt een prioriteit ... totdat mijn collega's en ik werd verteld om het te optimaliseren. Het draait op een on-prem (on premise) server.

Het instellen van Raygun APM was extreem eenvoudig. Dit zijn de stappen die ik heb gezet:

  • de Raygun APM-client op de server gedownload en geïnstalleerd
  • heeft de API-sleutel ingevoerd en geregistreerd
  • bevestigde de client aan de app-pool van de applicatie
  • de App Pool gerecycled

Ik begon binnen een minuut traceergegevens te zien in het dashboard. Na grondige kennis van de toepassing, was ik niet verrast om te zien dat Raygun APM de slecht presterende delen van de applicatie identificeerde. Ik was echter zeer verrast door de hoeveelheid details die het opleverde. Ik wist altijd dat bepaalde methoden en processen traag waren, maar Raygun APM stond me toe om dieper in te gaan op de details en de exacte methoden en API-aanroepen vast te stellen die mijn toepassing vertragen.

Ik merkte een aanzienlijke impact op de prestaties van het programma terwijl de Raygun APM-client was gekoppeld aan de app-pool. Deze prestatie is echter geraakt was niet merkbaar in de geoptimaliseerde delen van de applicatie

Daarom is Raygun APM zeker een hulpmiddel dat u wilt gebruiken in een testomgeving voordat u het gebruikt om toepassingen in de productie vast te leggen en te analyseren. Als u dit doet, kunt u de prestatieproblemen oplossen voordat de toepassing wordt geïmplementeerd.

Conclusie

Raygun APM is een fantastische service die u kunt gebruiken om de prestaties van uw .NET-toepassing te controleren. Het vindt automatisch de prestatieproblemen voor u en dankzij de nauwe integratie met andere tools en services die u al gebruikt, kunnen u en uw team deze problemen snel oplossen. Niet alleen dat, maar het heeft ook lagere kosten dan de meeste andere APM-services op de markt!