Schaal gelijktijdige uitvoering van externe scripts in SQL Server Machine Learning Services op

Van toepassing op: SQL Server 2016 (13.x) en latere versies

Leer over werkaccounts voor SQL Server Machine Learning Services en hoe je de standaardconfiguratie kunt aanpassen om het aantal gelijktijdige uitvoeringen van externe scripts te schalen.

Als onderdeel van het installatieproces voor Machine Learning Services wordt een nieuwe Windows-gebruikersaccountpool aangemaakt om de uitvoering van taken door de SQL Server Launchpad-service te ondersteunen. Het doel van deze werkersaccounts is om gelijktijdige uitvoering van externe scripts door verschillende SQL Server-gebruikers te isoleren.

Note

In SQL Server 2019 heeft SQLRUserGroup slechts één lid, dat nu het enkele SQL Server Launchpad-serviceaccount is in plaats van meerdere werkersaccounts. Dit artikel beschrijft de werkaccounts, voor SQL Server 2016 en 2017.

Werknemersaccountgroep

Een Windows-accountgroep wordt aangemaakt door SQL Server op te zetten voor elke instantie waarop machine learning is geïnstalleerd en ingeschakeld.

  • In een standaardinstantie is de groepsnaam SQLRUserGroup. De naam is hetzelfde of je nu Python, R of beide gebruikt.
  • In een benoemde instantie wordt de standaardgroepsnaam aangevuld met de instantienaam, bijvoorbeeld SQLRUserGroupMyInstanceName.

Standaard bevat de gebruikersaccountpool 20 gebruikersaccounts. In de meeste gevallen is 20 meer dan voldoende om machine learning-taken te ondersteunen, maar je kunt het aantal accounts aanpassen. Het maximale aantal rekeningen is 100.

  • In een standaardgeval worden de individuele accounts MSSQLSERVER01 via MSSQLSERVER20 genoemd.
  • Voor een benoemde instantie worden de individuele accounts genoemd naar de instantienaam: bijvoorbeeld MyInstanceName01 tot MyInstanceName20.

Als meer dan één instantie machine learning gebruikt, zal de computer meerdere gebruikersgroepen hebben. Een groep kan niet gedeeld worden tussen instanties.

Aantal werknemersrekeningen

Om het aantal gebruikers in de accountpool te wijzigen, moet je de eigenschappen van de SQL Server Launchpad-service aanpassen zoals hieronder beschreven.

Wachtwoorden die aan elk gebruikersaccount zijn gekoppeld, worden willekeurig gegenereerd, maar je kunt ze later veranderen, nadat de accounts zijn aangemaakt.

  1. Open SQL Server Configuration Manager en selecteer SQL Server Services.
  2. Dubbelklik op de SQL Server Launchpad-service en stop de service als deze draait.
  3. Zorg er op het tabblad Service-modus voor dat de Startmodus op Automatisch staat. Externe scripts kunnen niet starten als de Launchpad niet draait.
  4. Klik op het tabblad Geavanceerd en bewerk indien nodig de waarde van het aantal externe gebruikers . Deze instelling bepaalt hoeveel verschillende SQL-gebruikers tegelijkertijd externe scriptsessies kunnen uitvoeren. Het standaardaantal is 20 accounts. Het maximale aantal gebruikers is 100.
  5. Optioneel kun je de optie Wachtwoord van externe gebruikers resetten instellen op Ja als je organisatie een beleid heeft dat regelmatige wachtwoorden moet wijzigen. Hierdoor worden de versleutelde wachtwoorden die Launchpad voor de gebruikersaccounts bijhoudt opnieuw gegenereerd. Voor meer informatie, zie Afdwingen van Wachtwoordbeleid.
  6. Herstart de Launchpad-service.

Workloads beheren

Het aantal accounts in deze pool bepaalt hoeveel externe scriptsessies tegelijkertijd actief kunnen zijn. Standaard worden er 20 accounts aangemaakt, wat betekent dat 20 verschillende gebruikers tegelijkertijd actieve Python- of R-sessies kunnen hebben. Je kunt het aantal werkersaccounts verhogen als je verwacht meer dan 20 gelijktijdige scripts te draaien.

Wanneer dezelfde gebruiker meerdere externe scripts gelijktijdig uitvoert, gebruiken alle sessies die door die gebruiker worden uitgevoerd hetzelfde worker-account. Bijvoorbeeld, een enkele gebruiker kan 100 verschillende Python- of R-scripts gelijktijdig draaien, zolang de middelen het toelaten, maar alle scripts draaien met één werkaccount.

Het aantal worker-accounts dat je kunt ondersteunen, en het aantal gelijktijdige sessies dat een enkele gebruiker kan draaien, wordt alleen beperkt door serverbronnen. Meestal is geheugen de eerste bottleneck die je tegenkomt bij het gebruik van de Python- of R-runtime.

De bronnen die door Python- of R-scripts gebruikt kunnen worden, worden beheerd door SQL Server. We raden aan om het resourcegebruik te monitoren met SQL Server DMV's, of om prestatietellers op het bijbehorende Windows-taakobject te bekijken en het geheugengebruik van de server dienovereenkomstig aan te passen. Als je SQL Server Enterprise Edition hebt, kun je middelen toewijzen die worden gebruikt voor het draaien van externe scripts door een externe resource pool te configureren.