Implementaties van Copilot Studio agent plannen voor doorvoer- en frequentielimieten

Productieklare Copilot Studio agents hebben meer nodig dan licenties en de totale planning van berichtvolumes. Ze hebben ook doorvoerplanning nodig. De doorvoerplanning heeft betrekking op hoe snel verkeer binnenkomt, welke platformservices de oplossing aanroepen en welke limieten van toepassing zijn op de volledige oplossing.

Dit artikel helpt oplossingsarchitecten, makers en Power Platform-beheerders bij het voorbereiden van Copilot Studio-implementaties met hoge volumes op verkeer in productie, UAT (gebruikersacceptatietests), belastingstests, B2C-scenario's (business-to-customer) en autonome workloads.

Tariefinrichting staat los van het inrichten van licenties

De planning voor Copilot Studio-productie kent twee verwante maar afzonderlijke werkstromen:

  • Licentieverstrekking omvat commerciële gebruiksrechten en verbruik, zoals licenties, tegoeden, vooraf betaalde capaciteit, berichtenpakketten en betalen naar gebruik.
  • Snelheidsvoorziening heeft betrekking op hoe snel verkeer kan worden verwerkt voordat snelheidsbeperking of servicebeveiligingsmaatregelen van toepassing zijn.

Note

Microsoft gebruikt de term quota voor Copilot Studio frequentielimieten. In een bredere woordenlijst voor de branche wordt deze planningsactiviteit vaak tariefinrichting genoemd. Bekijk de gepubliceerde limieten, schat piekaanvragen in en plan voordat productieverkeer binnenkomt.

Betalen per gebruik kan de beschikbare limieten verhogen in vergelijking met configuraties met lagere capaciteit, maar doorvoer is niet oneindig. Controleer de huidige Copilot Studio-limieten, Power Platform-aanvraagtoewijzingen, Power Automate limieten, limieten voor dataverse-servicebeveiliging, connectorbeperkingsregels en downstream-API-limieten.

Wat gebeurt er als er snelheidsbeperking optreedt?

Throttling is een mechanisme om services te beschermen. Het beschermt gedeelde services tegen verkeerspatronen die gepubliceerde limieten, burstlimieten of de capaciteit van de service overschrijden. Het exacte symptoom is afhankelijk van welke service wordt beperkt.

Wanneer een limiet is bereikt, is het gevolg meer dan een planningsprobleem. Aanvragen kunnen worden beperkt, vertraagd, geblokkeerd of geweigerd. In gebruikersgerichte chats kan dit gedrag worden weergegeven als tijdelijke serviceonderbreking. De gebruiker kan bijvoorbeeld het volgende bericht niet verzenden, een bericht met agentlimiet of gebruikslimiet ontvangen, of een mislukte stap ervaren omdat een stroom, connector, Dataverse-aanroep, AI-service of downstream-API de limiet heeft bereikt.

Meer informatie over Copilot Studio-specifieke symptomen en foutberichten in Resolve usage limit errors in agents.

Hoe snelheidslimieten worden gemeten

Frequentielimieten meten hoeveel verkeer een service kan accepteren tijdens een specifiek tijdvenster. Denk na over deze vensters: per minuut, per vijf minuten, per 10 minuten, per uur, per dag, per week en per maand. Maandelijks of wekelijks volume helpt bij het schatten van de totale vraag, maar kortere vensters voor het inrichten van tarieven, omdat beperking vaak het gevolg is van geconcentreerd verkeer.

Een B2C-bedrijf kan bijvoorbeeld het grootste deel van het agentverkeer ontvangen tijdens één gericht campagneuur. Het wekelijkse gemiddelde kan er laag uitzien, maar dat enkele uur kan nog steeds voldoende doorvoerdruk creëren om bandbreedtebeperking of serviceonderbrekingen te veroorzaken. Een ontwerp dat veilig kijkt op het wekelijkse of maandelijkse niveau, kan nog steeds limieten overschrijden tijdens een piek van één uur.

Inzicht in het bereik van limieten

Limieten zijn niet alleen van toepassing op het niveau van de afzonderlijke agent. Afhankelijk van de service kunnen ze worden toegepast op omgevingsniveau, hulpprogrammaniveau, API-niveau, connectorniveau, kanaalniveau of downstreamserviceniveau.

Copilot Studio limieten voor berichten-naar-agent zijn bijvoorbeeld per Dataverse-omgeving beperkt. Wanneer je het verkeer inschat, neem dan alle bronnen mee die berichten naar agenten in die omgeving sturen, inclusief gebruikersgerichte kanalen, integraties, autonome workloads en Azure Bot Service skills. Controleer de huidige waarden en het bereik in Copilot Studio quota en limieten.

Bepaal of tariefconfiguratie van toepassing is op uw agent

Niet elke agent heeft gedetailleerd werk voor het instellen van tarieven nodig. Een eenvoudige interne FAQ-agent met een klein gebruikerspubliek, voorspelbaar gebruik en weinig of geen downstream-aanroepen zal waarschijnlijk niet tegen ratelimieten aanlopen. Capaciteitsbeheer wordt belangrijk wanneer een agent de limieten voor aanvragen per minuut of per uur dreigt te overschrijden, zelfs als het maandvolume bescheiden lijkt.

Denk vroeg aan verwacht verkeer in het project, naast het ontwerp van de oplossing. Voordat gebruikersacceptatietests (UAT) en belastingstests beginnen, moet het team erop vertrouwen dat het agentontwerp, de omgeving, verbonden services en downstreamsystemen het verwachte doorvoerprofiel kunnen ondersteunen.

Deze richtlijnen zijn van belang voor grotere, intensieve agents op bedrijfsniveau, waar verkeer kan binnenkomen in bursts, veel gebruikers of gebeurtenissen kunnen de agent tegelijkertijd aanroepen, of elke interactie is afhankelijk van meerdere platformservices. Het kan ook van toepassing zijn op kleinere agents met geconcentreerde gebruikspatronen, zoals een kort startvenster, een afdelingsbrede gebeurtenis, een gepland proces of een werkstroom die binnen een paar minuten veel aanvragen genereert.

B2C en autonome agents vereisen het vroeg beschikbaar stellen van tarieven

Klantgerichte B2C-agenten kunnen verkeer ontvangen van campagnes, openbare websites, klantportals, incidentcommunicatie, productlanceringen of seizoensgebonden vraag. Autonome agents kunnen verkeer met een hoge frequentie genereren op basis van planningen, gebeurtenissen, achtergrondprocessen of wanneer ze meerdere hulpprogramma's en werkstromen aanroepen.

Tip

Behandel B2C- en autonome gebruiksscenario’s als volwaardige scenario’s voor tariefvoorziening. Ze kunnen burst-verkeer genereren, meerdere gelijktijdige aanvragen en achtergrondactiviteit met hoge frequentie sneller dan veel chatervaringen voor werknemers.

Gebruik piekvensters, niet alleen maandelijkse totalen

Vraag of de agent binnen een minuut of uur geconcentreerde aanvragen kan maken. Een kleiner scenario kan nog steeds capaciteitsvoorziening nodig hebben als een belastingstest, campagne, respons op een storing of geautomatiseerde trigger er binnen een kort tijdsbestek voor zorgt dat te veel berichten, generatieve AI-aanroepen, workflowacties, connectoroproepen of Dataverse-aanvragen door de omgeving gaan.

Maandelijks volume is handig voor het schatten van de totale vraag, maar het is niet voldoende voor het inrichten van tarieven. Converteer verwacht gebruik naar kleinere tijdvensters, zodat u het ontwerp kunt vergelijken met huidige aanvragen per minuut (RPM), aanvragen per uur (RPH), burst- en dagelijkse limieten van de gekoppelde pagina's.

Bouw zowel een gemiddeld verkeersprofiel als een piekverkeersprofiel. Als het meeste verkeer bijvoorbeeld elke dag plaatsvindt tussen 17:00 en 18:00 uur, moet de piek per uur die concentratie weerspiegelen. De dagelijkse schatting hoeft niet 24 keer het piekuur te zijn als het verkeer zich in één venster bevindt.

Gebruik deze schattingen om het ontwerp te bepalen en te valideren. Schattingen zijn geen voldoende rechtvaardiging voor een verzoek om een toename van de doorvoer. Verzoeken worden beoordeeld aan de hand van waargenomen verkeer tijdens een pilotfase, zoals beschreven in Voer een pilotfase uit voordat u een verhoging van de doorvoer aanvraagt.

Wanneer kan er verder snelheidsbeperking worden toegepast?

Beperken kan ook optreden wanneer:

  • Een grote werknemerspopulatie gebruikt de agent tijdens een voorspelbaar piekvenster, zoals een gebeurtenis of training voor de hele afdeling.
  • Een marketingcampagne, storing, lancering of geplande zakelijke gebeurtenis maakt een korte piek in het verkeer.
  • Power Automate-werkstromen bevatten lussen, opnieuw proberen, paginering of onderliggende werkstromen die het aantal aanvragen verhogen.
  • Rapportage, controle, telemetrie-export of transcriptopname wordt synchroon uitgevoerd in het draaipad van de gebruiker.
  • Meerdere agents of workloads delen dezelfde omgeving, dezelfde identiteit, dezelfde connector of dezelfde downstream-API-capaciteit.
  • Belastingtests schalen sneller op dan de productiearchitectuur of het ondersteuningsproces aankon.

Waar u relevante aanvraaglimieten kunt opzoeken

Copilot Studio eigen limieten heeft en het runtimepad van de agent kan andere services met hun eigen limieten bevatten. Bekijk alle relevante limieten voor de services die uw agent gebruikt.

limieten voor Copilot Studio

Gebied voor tariefconfiguratie Wat moet ik opzoeken? Waar huidige waarden worden gecontroleerd Het gebruik ervan
Berichten naar een agent Huidige RPM- en RPH-limieten en bereik van berichten die naar de agent worden gestuurd. quota en limieten voor Copilot Studio Vergelijk verwachte berichten per minuut en per uur voor de dataverse-doelomgeving.
Generatieve AI-berichten Huidige limiet voor generatieve indeling, agentacties, AI-hulpprogramma's, agentwerkstroomacties en generatieve antwoorden. Generatieve AI-berichten naar een agent Breng sterk AI-gedreven en autonome scenario's in kaart aan de hand van de momenteel gepubliceerde limieten.
Autonome triggerknooppunten Huidige limieten die van toepassing zijn wanneer een autonome agent wordt geactiveerd door gebeurtenissen, planningen of achtergrondprocessen. quota en limieten voor Copilot Studio Modelleer gebeurtenisgestuurde en geplande workloads afzonderlijk van interactief chatverkeer.
limieten voor Copilot Studio-abonnementsaanvragen Huidige limieten voor Power Platform-aanvragen die van toepassing zijn op Copilot Studio gebruik. Copilot Studio abonnementslimieten Gebruik deze waarden naast de snelheidslimietplanning voor stromen, Dataverse en verbonden services.

Andere platformlimieten om rekening mee te houden

De laagste limiet in het runtimepad bepaalt de gebruikerservaring. Een Copilot Studio-agent kan binnen de eigen limieten blijven, terwijl een stroom, connector, Dataverse-aanroep, taalservice of externe API wordt afgeknepen.

Note

Andere platformlimieten kunnen van invloed zijn op uw agent als deze andere onderdelen in het aanvraagpad van de agent gebruikt. Neem ook rekening met deze limieten, waaronder Power Platform, Power Automate, Dataverse, connectors, taalservices en downstreamsystemen.

Runtimegebied Wat u moet bekijken Vragen over tariefprovisioning Waar u de huidige limieten kunt bekijken
Power Platform-aanvraagvlak Aanvragen voor Power Automate, Copilot Studio werkstroomoproepen, Dataverse-gebruik, Power Apps en Dynamics 365. Welke gebruiker, verbinding, toepassingsgebruiker of service-principal genereert de aanvragen? Zijn aanvraagtoewijzingen voldoende voor de verwachte dagelijkse en piekworkload? Verzoeklimieten en toewijzingen
Power Automate-stromen Triggers, acties, lussen, onderliggende stromen, HTTP-acties, connectoracties, nieuwe pogingen, paginering en gelijktijdigheid. Hoeveel acties worden per beurt van de agent aangemaakt? Vallen burstlimieten, gelijktijdigheidslimieten, triggerlimieten en connectorlimieten binnen de reikwijdte? De limieten van het platform begrijpen en vertraging of overbelasting vermijden
Limieten voor geautomatiseerde, geplande en directe stromen
Dataverse CRUD-bewerkingen, invoegtoepassingen, werkstromen, toewijzings-/sharebewerkingen, connectoroproepen en systeembewerkingen die nodig zijn om transacties te voltooien. Welke gebruikers, toepassingsgebruikers of service-principals genereren Dataverse-aanroepen? Zijn servicebeveiligingslimieten of gedrag voor opnieuw proberen waarschijnlijk van toepassing? API-limieten voor servicebeveiliging
Overzicht van Dataverse API-limieten
Connectors Standaardconnectoren, premiumconnectors, aangepaste connectoren, connectorspecifieke throttling en downstream-API's. Welke verbindingslijn is het knelpunt? Dwingt de downstreamservice een eigen frequentielimiet af? API-doorvoerlimieten voor connectors
Naslaginformatie voor Power Automate-connectors
Conversationeel taalbegrip (CLU) en AI-services CLU-aanroepen, AI-prompts, zoek- en overzichtsbewerkingen, hulpprogramma's met modelsteun, grootte van nettolading en servicespecifieke limieten. Roept elke gebruiker een taal of AI-service aan? Worden die aanroepen herhaald tijdens nieuwe pogingen of orkestratie? Limieten voor het begrijpen van gesprekstalen
quota en limieten voor Copilot Studio
Externe API's en Line-Of-Business-systemen Leveranciers-API's, interne API's, databases, middleware, gateways en aangepaste services. Welke limiet dwingt de downstream-eigenaar af? Is er een strategie voor opnieuw proberen: contract, wachtrij of backpressure? Gebruik de huidige limieten, service level agreement (SLA) en het supportproces van de eigenaar van de downstreamservice.

Ontwerp om de doorvoerdruk te verminderen

Maak tariefverhogingen niet uw eerste ontwerpkeuze. Controleer eerst het ontwerp van de agent en optimaliseer de efficiëntie. Als de agent iets moet opzoeken, houdt u externe aanroepen opzettelijk, optimaliseert u API-aanroepen en voorkomt u onnodig aanvraagvolume in Copilot Studio, Power Automate, Dataverse, connectors en downstreamsystemen.

Nadat het ontwerp efficiënt is, kunt u de doorvoer beheren zodat verkeer het platform op een voorspelbare manier bereikt:

  • Voor limieten op omgevingsniveau kunt u overwegen agents te splitsen in meerdere omgevingen als deze benadering overeenkomt met uw operationele ontwerp. Deze aanpak kan helpen voorkomen dat agents, bedrijfseenheden, regio's of autonome workloads met een hoog volume moeten concurreren met niet-verwante workloads om dezelfde omgevingsgebonden limieten.
  • Gebruik voor autonome agents wachtrijen, batchverwerking, triggerfilters, geplande verwerking, besturingselementen voor opnieuw proberen en bewaking, zodat achtergrondwerk niet aankomt als een onbeheerde burst.
  • Verplaats geplande rapporten, controle-export en telemetrie buiten het interactieve chatpad, indien mogelijk.
  • Controleer de resultaten van de belastingtest en de productietelemetrie om te bepalen waar aanvragen zich concentreren en stem vervolgens de agent, stromen, connectors en downstream-API's af voordat u hogere limieten aanvraagt.

Autonome agents hebben een unieke positie om het gebruik van hun toegewezen capaciteit te maximaliseren met robuuste voorspelbaarheid en waarneembaarheid door aanvragen in de wachtrij te plaatsen en hun triggersnelheden te beheren.

Voer een pilotfase uit voordat je een doorvoerverhoging aanvraagt

Standaardlimieten zijn geschikt voor de meeste productieagenten, inclusief agenten die duizenden maandelijks actieve gebruikers bedienen. Voordat je een verhoging van de doorvoer plant, controleer je of de agent die daadwerkelijk nodig heeft.

Rechtstreeks overgaan naar een grootschalige lancering is geen ondersteund uitrolpatroon. Geef het middel eerst vrij aan een subset van de beoogde doelgroep, observeer het daadwerkelijke gebruik en gebruik die metingen om de volledige uitrol te plannen. Een pilotfase vermindert zowel het lanceerrisico als levert het bewijs dat een verzoek om doorvoerverhoging vereist.

Important

Verzoeken om een toename van de doorvoer worden beoordeeld aan de hand van waargenomen gebruik. Verwachte volumes, schattingen die tijdens de ontwerpfase zijn opgesteld, kleinschalige user acceptance testing (UAT)-runs en synthetische belastingstests worden op zichzelf niet als afdoende rechtvaardiging aanvaard. Voer een pilotfase uit en dien de gemeten resultaten in.

Het werkelijke gebruik verschilt routinematig van de schattingen vóór de lancering. Sessielengte, berichten per sessie, hoe vaak gebruikers generatieve antwoorden of acties bereiken, gedrag bij het opnieuw proberen en het aantal flow-, connector-, Dataverse- en externe API-aanroepen per beurt zijn allemaal moeilijk te voorspellen voordat de agent in handen is van echte gebruikers. Een pilot laat de grenzen zien die ertoe doen en de verkeerspatronen die moeilijk vooraf te schatten zijn.

Ontwerp een effectieve pilot

Pilootattribuut Guidance
Audiëntie Breng het uit aan een grote, representatieve groep van het beoogde publiek in plaats van aan een project- of testteam. De pilotgroep moet de rollen, regio's en gebruikssituaties omvatten die op volledige schaal worden verwacht.
Duur Loop minstens een week zodat de pilot een volledige bedrijfscyclus bestrijkt, inclusief bekende piekperiodes zoals ploegenwisselingen, maandafsluiting, campagneuren of geplande autonome runs.
Configuration Behoud het runtimepad voor productie: dezelfde kanalen, onderwerpen, configuratie voor generatieve AI, kennisbronnen, acties, stromen, connectoren en downstreamsystemen als bij de volledige uitrol worden gebruikt. Verkeer dat wordt gemeten ten opzichte van een verkleind ontwerp kan niet betrouwbaar worden geëxtrapoleerd.
Telemetry Zet de analytics, Application Insights en rapportages voor het administratiecentrum aan die je nodig hebt voordat de pilot begint, zodat sessies, berichten, generatieve AI-oproepen en fouten gedurende de hele periode worden vastgelegd.

Meet tijdens de pilot

Leg de waarden vast die direct overeenkomen met de gepubliceerde snelheidslimieten:

  • Berichten per minuut en per uur, gemiddeld en op piek.
  • Sessies, gelijktijdige sessies, sessieduur en berichten per sessie.
  • Generatieve AI-oproepen per beurt en per sessie, inclusief generatieve antwoorden, agentacties en tools.
  • Power Automate-acties, connector-aanroepen en Dataverse-verzoeken die per agentbeurt worden gegenereerd.
  • Throttlinggebeurtenissen, fouten wegens overschrijding van gebruikslimieten, herpogingen en latentie tijdens de piekperioden van de pilot.
  • De grootte van het pilotpubliek, uitgedrukt als een aandeel van het volledige beoogde publiek.

Extrapoleren tot volledige capaciteit

Schaal de geobserveerde piekmetingen op voor het volledige publiek en documenteer de methode die je hebt gebruikt. Baseer de schaling op piekverkeer tijdens de pilot, niet op dagelijkse of wekelijkse gemiddelden, omdat afknijpen wordt veroorzaakt door geconcentreerd verkeer. Houd rekening met alles wat de pilot niet bevatte, zoals extra regio's, kanalen, autonome werklasten of een lanceercampagne die het verkeer meer concentreert dan de pilotperiode.

Het resultaat is een op bewijs gebaseerde vraag: gemeten pilotverkeer, het aandeel van de pilot in het publiek, de extrapolatiemethode en de resulterende piekvereiste op volledige schaal.

Wat u moet doen als standaardfrequentielimieten niet voldoende zijn

Als het waargenomen pilotverkeer laat zien dat de agent of een verbonden dienst bij volledige uitrol de momenteel gepubliceerde limieten overschrijdt, start dan het ondersteuningsproces voor rate provisioning voordat u de uitrol verder uitbreidt. Wacht niet op de eerste productiefout.

Note

Copilot Studio is een SaaS-dienst met tarieflimieten om de dienst voor alle klanten te beschermen. Met de juiste reden kan engineering aangepaste limieten inschakelen voor goedgekeurde scenario's. Juiste rechtvaardiging betekent gemeten gebruik vanuit een pilotfase, niet een projectie.

Een ondersteuningsaanvraag openen

Beheerders kunnen ondersteuning aanvragen via het Power Platform-beheercentrum.

Open het ticket na de pilotfase en voeg de gemeten resultaten toe samen met de extrapolatie tot volledige capaciteit. Verzoeken die alleen ontwerptijdsramingen of kleine UAT-resultaten bevatten, kunnen niet worden beoordeeld en vertragen de verhoging. Hoe meer gemeten details je geeft, hoe sneller de beoordeling. Werk het verzoek bij zodra de uitrol uitbreidt en er meer telemetrie beschikbaar komt.

Kerninformatie die moet worden opgenomen

Information Description
Omgevings-ID De Dataverse-omgeving waar de agent wordt uitgevoerd.
Agentnaam of -id De agent die wordt beïnvloed door de aanvraag.
Bedrijfsimpact Kritieke impact als de standaardlimieten niet voldoende zijn.
Bekende informatie Wat is bekend over het scenario, kanaal, startcontext, bedrijfskritiek en of het B2C, autonoom, werknemersgericht of alleen intern is.
Momentopname van de agent Een momentopname of export waarmee revisoren inzicht krijgen in de agentconfiguratie, het ontwerp, de verbonden services en relevante instellingen.
Ontwerp van de agent Beschrijving op hoog niveau van onderwerpen, generatief AI-gebruik, kennisbronnen, acties, stromen, connectors, Dataverse-aanroepen en externe API's die door de agent worden gebruikt.
Pilotoverzicht Pilotdata en -duur, de grootte van het pilotpubliek, en dat publiek als aandeel van het volledige beoogde publiek.
Waargenomen gemiddeld verkeer Gemiddelde verkeer uit de pilot gemeten per minuut, uur en dag.
Waargenomen piekverkeer Gemeten piekberichten, sessies, generatieve AI-aanroepen, flowacties, connectoraanroepen, Dataverse-verzoeken en externe API-aanroepen tijdens de piekperioden van de pilot.
Geëxtrapoleerde piekvereiste De piekvereiste bij volledige publieksgrootte, met de extrapolatiemethode en alle aannames die je hebt toegepast.

Meer informatie die u kan helpen

Information Description
Datumbereik Begin- en einddatum voor de aangevraagde verhoging. Geef aparte datumbereiken voor belastingtest, gebruikersacceptatietest en productie als deze verschillen.
Piekpatroon Piekvensters, tijdzones, verwachte oorzaken van piekbelasting en of het verkeer geconcentreerd is binnen een kort dagelijks tijdvenster.
Sessieprofiel Gelijktijdige sessies, gemiddelde en pieksessielengte, berichten per sessie en vragen per sessie.
Typische sessievoorbeelden Representatieve gebruikerspaden, typische stappen die worden uitgevoerd, gebruikte hulpprogramma's en voorbeeldsessie-id's, indien beschikbaar.
Runtimepad Werkstromen, acties, AI-prompts, kennisaanroepen, Dataverse-aanroepen, connectors en API's per interactie.
Pieken op functionaliteitsniveau Piekvolume per agent, functie, gebruiker, omgeving, connector, minuut, uur en dag, waar bekend.
Producten die moeten worden beoordeeld Of het verzoek betrekking heeft op Copilot Studio, aanvraagtoewijzingen binnen Power Platform, Power Automate, connectoren, Dataverse, CLU/AI-services of externe API's.
Evidence Telemetrie van de pilot, voorbeeldsessie-ID's, fouten, correlatie-ID's, logboeken, snelheidsbeperkingsgebeurtenissen en waarnemingen uit productie. Load test-resultaten kunnen pilot-telemetrie aanvullen, maar vervang het niet.
Mitigerende maatregelen Samenvatten wat u al hebt geprobeerd de doorvoerdruk te verminderen. Raadpleeg het ontwerp om richtlijnen voor doorvoerdruk te verminderen , waaronder ontwerpbeoordeling, geoptimaliseerde externe aanroepen, omgevingssegmentatie, batchverwerking, wachtrijen, triggerfilters, planning, workloaddistributie en andere optimalisaties die al zijn geïmplementeerd.

Important

Een doorvoerverhoging is niet gegarandeerd. Microsoft Ondersteuning beoordeelt verzoeken op basis van scenario, omgeving, gevraagde datumbereik, waargenomen pilotverkeer, geschiktheid, huidige limieten en servicecapaciteit.