Läs om våra uppdateringsscheman här.

Pålitliga lösningar fungerar effektivt och pålitligt. De är tillgängliga, presterar enhetligt och skalar för att stödja växande verksamheter.

Ett pålitligt system är inte felbenäget, beter sig som förväntat och ger resultat i rätt tid. Omvänt är ett opålitligt system långsamt, beter sig inte som förväntat eller misslyckas vid kritiska tillfällen. Opålitliga system ger felaktig information, så intressenter kan inte Trusta dem för affärsbeslut.

Systemtillförlitligheten är inte konstant. Ett system som är pålitligt idag kan bli opålitligt om det inte är utformat för tillväxt. Ett otillförlitligt system kan kräva dyrt underhåll, refaktorisering eller återimplementering, vilket avleder resurser från strategiska projekt.

Förbättra tillförlitligheten i dina Salesforce-lösningar genom att fokusera på tre principer: tillgänglighet, prestanda och skalbarhet. Salesforces produktsvit för skalbarhet har inbyggda funktioner för att hjälpa arkitekter att implementera pålitliga implementeringar.

Tillgänglighet är ett mått på den procentandel av tiden som ditt system är i drift. Salesforce Platform hanterar de flesta tillgänglighetsproblem på infrastrukturnivå. Tillgängligheten för de lösningar du bygger på plattformen, och som dina kunder upplever, är dock ett delat ansvar. Det är viktigt att förstå att även med Salesforces höga tillgänglighet är risken för serviceavbrott aldrig noll.

Arkitekter måste förbereda sig på Salesforces serviceavbrott, som planerat underhåll eller oförutsedda omständigheter. Utöver serviceavbrott, tänk på hur du kan upprätthålla hög prestanda och växa med verksamheten. Smala arkitektoniska val kan leda till långsiktiga tillgänglighetsproblem.

Tänk på tillgängligheten under designfasen innan din lösning byggs. Ju längre du skjuter upp arkitektarbete för tillgänglighet, desto högre blir den faktiska kostnaden för tillgänglighetsproblem på lång sikt. För att minska potentiella risker, använd Salesforces Skaltest i din testmiljö. I den miljön kan du testa i produktionsskala innan du distribuerar kod i produktion.

Arkitekter använder verksamhetsspråket och utformar tekniska problem för verksamhetsintressenter för att vinna engagemang och prioritera tillgänglighetsarbete.För att minska potentiella risker, använd Salesforces Skaltest i din testmiljö. I den miljön kan du testa i produktionsskala innan du distribuerar kod i produktion.

Du kan skapa lösningar för att göra dina Salesforce-lösningar mer tillgängliga genom riskhantering och felreducering.

Att hantera risker inom ramen för Salesforce-arkitekturen innefattar att identifiera potentiella risker för ditt systems funktion, dess användare, inklusive anställda, partners och kunder) och dina verksamhetsprocesser. Ofta faller den formella processen för att utföra riskanalys under projektledarens ansvar. Som arkitekt, se till att riskanalysen på lämpligt sätt representerar de tekniska och affärsmässiga intressenternas intressen. Det är också ditt ansvar att identifiera de affärskritiska användningsfall som du behöver skala upp baserat på dina topphotspots i produktionen.

Några av de största fallgroparna i riskhantering kommer från att inte ägna tillräckligt med tid och tanke på det. Team hoppar ofta över riskbedömning Eller så blandar de ihop lösning för säkerhetskopiering och återställning, en viktig del av att minska riskerna för dataintegritet, med omfattande riskbedömning och begränsning.

För att bedöma risker för dina Salesforce-lösningar, använd dessa metoder:

  • Använd ett ramverk för riskbedömning. Vissa stora företag kan redan ha relevanta riskmatriser. Om du gör det, använd dem för att avgöra hur du klassificerar faror, vilken typ av information som ska samlas in, vad du behöver göra för att åtgärda dem, med mera. Om du inte redan har ett ramverk för riskbedömning, hitta ett från en ansedd källa och använd det.
  • Bedöm påverkans allvarlighetsgrad och riskkategorier från dina kunders perspektiv. Proactive Monitoring och Scale Center tillhandahåller konfigurerbara varningar och instrumentpaneler. De utvärderar kontinuerligt prestanda- och skalbarhetsrisker och minskar ditt beroende av manuella checklistor. Customer Trust och uppfattning är nyckeln till varje verksamhet. När det gäller verksamhetspåverkan överväger riskerna för problem som når kunder vanligtvis riskerna för problem som inte gör det. Kunder kanske inte tänker på eller uppfattar risker på samma sätt som interna team. Om en kund inte kan logga in på sitt konto bryr de sig antagligen inte om grundorsaken till problemet. De bryr sig mest om sin egen, omedelbara upplevelse.
  • Prioritera dina risker. Helst är varje risk länkad till en solid begränsnings- och svarsplan. I verkligheten kommer du att ha luckor som du behöver åtgärda över tid. Det är viktigt att använda en metod som kallas "leverera värde tidigt och upprepat". Du och dina leverans- och underhållsteam kan endast ta på sig så mycket arbete åt gången. På Salesforce är ett vanligt uttryck: "Om allt är viktigt är ingenting viktigt." Vi använder V2MOM för att prioritera och anpassa arbetet i hela företaget, mellan team och ner till varje individ. (Du kan lära dig mer om V2MOM på Trailhead.) Använd dina riskbedömningar, som ger dig möjlighet att arbeta med dina intressenter för att prioritera och engagera dig i det viktigaste riskhanteringsarbetet. Använd Skaltest - Skapa testplan för att identifiera riskerna att prioritera och för att minska dessa risker med hjälp av skaltest.

Använd Proactive Monitoring för att upptäcka tidiga tillgänglighetsrisker. Den lyfter fram avvikelser som API-begärangränser, radlåsfel eller samtidiga Apex, vilket ger användbara insikter innan problem flyttas om till serviceavbrott.

Tillgänglighetsmönster och antimönster visar korrekt och dålig riskhantering i en Salesforce-lösning. Använd mönstren för att validera dina konstruktioner innan du bygger eller för att identifiera refaktoriseringsområden i ditt system.

Mer information om Salesforce-verktyg relaterade till riskhantering finns i Salesforce-verktyg för tillförlitlighet.

En felpunkt är en sårbarhet som gör ett system opålitligt. Bra felreducering handlar inte om att hitta varje potentiell felpunkt. Istället handlar det om att snabbt klassificera och prioritera felpunkter så att underhålls- och supportteam kan svara effektivt. Se incidentsvar.

Utveckla bättre strategier för att minska fel:

  • Klassificera utlösare för felpunkter med avseende på personal, process och teknik. Precis som du kategoriserar risker efter personer, processer och teknik, tillämpa samma tänkande på hur felpoäng med hög prioritet utlöses. Detta tillvägagångssätt hjälper dig både identifiera potentiella felutlösare och utveckla och organisera svar på dem. Ibland kan du minska till synes avvikande felutlösare med liknande begränsningsmetoder, baserat på hur utlösarna klassificeras.
Utlösarklassificering/typ Mitigation
Personer Policy
Process Spelböcker, kontinuitetsplaner
Teknologi Redundans
  • Identifiera hur grundläggande, mellanliggande och mogna begränsningsåtgärder ser ut. Det kommer att ta tid att bygga upp begränsningsstrategier. Definiera nivåer av begränsning för att hjälpa dig och ditt team se var ni kan placera kontroller direkt och hur ni kan fokusera era ansträngningar över tid. Leta alltid efter möjligheter att använda automatisering i dina begränsningsmetoder—så tidigt som möjligt. För att illustrera hur detta tillvägagångssätt ser ut i praktiken visar detta exempel en personorienterad utlösare och hur policybaserad begränsning ser ut på grundläggande, mellanliggande och mogna nivåer.
Utlösare Mitigation Grundläggande Medelvärde Mognad
Ändring av användaråtkomst för en ny eller avgående medarbetare Servicenivåavtal (SLA) och krav för provisionering eller avprovisionering av användare Provisionera och avprovisionera användare manuellt, enligt servicenivåavtal för manuella ändringar. Bearbeta användarändringar genom schemalagda jobb, enligt servicenivåavtal för schemalagda ändringar. Automatisera provisionering och avprovisionering av användare genom en SSO/IDM-lösning.

Utöver att använda arkitektoniska spelböcker och kontinuitetsplanering, använd Proactive Monitoring. Med Proactive Monitoring kan du konfigurera varningar i realtid om felutlösare, till exempel inloggningsfel, undantag för CPU-timeout eller samtidiga API-begäranfel. Detta tillvägagångssätt för att varna ökar risken för fel genom att säkerställa att både tekniska och affärsmässiga intressenter informeras i tid för att minska effekterna av fel.

Mönstren och antimönster för tillgänglighet visar hur korrekt och dålig felreducering ser ut i en Salesforce-lösning. Använd dem för att validera din design innan du bygger, eller för att identifiera platser i ditt system att refaktorisera.

Mer information om Salesforces verktyg för att minska fel finns i Verktyg som är relevanta för Tillförlitliga.

Denna tabell visar ett urval av mönster att leta efter eller bygga i din organisation, och antimönster att undvika eller rikta in sig på för att åtgärda.

✨ Upptäck fler mönster för tillgänglighet i Mönster & Anti-Mattern Explorer.

Mönster Anti-Patterns
Riskhantering I din verksamhet:
- Ett etablerat ramverk för riskbedömning används.
- Risker kategoriseras i personer, processer och teknikområden.
I din verksamhet:
- Ramverket för riskbedömning för Salesforce är ad hoc.
- Risker är inte tydligt identifierade.
I din dokumentation:
- Risk allvarlighetsgrad kategoriseras och bedöms baserat på kundpåverkan.
- Riskreducering och åtgärdsplaner prioriteras.
I din dokumentation:
- Kundperspektivet övervägs inte vid bedömning av risk allvarlighetsgrad eller kategori.
- Riskreducering och responsplaner försöker fånga alla tänkbara risker.
Minskning av fel I din organisation:
- Felpunktsutlösare och deras motsvarande begränsningsplaner kategoriseras efter personer, process och teknik.
- Begränsningskontroller införs omedelbart, mognar över tid och införlivar automatisering så tidigt som möjligt.
- För att säkerställa optimal skalbarhet slutförs omfattande tester och optimering innan ändringar släpps till produktion.
- Innan affärskritiska händelser utförs skaltest och optimering, enligt servicenivåavtal.
I din organisation:
- Felpunktsutlösare är inte klassificerade. Begränsningsmetoder finns inte eller används endast ad hoc.
- Begränsningskontroller granskas inte igen eller förbättras.
- Automatisering används inte i begränsning.
Övervakning och observerbarhet I din organisation:
- För kontroller och upptäckt av avvikelser är Proactive Monitoring aktiverat.
- För kontinuerlig synlighet är Proactive Monitoring varningar integrerade med Scale Center.
I din organisation:
- Endast manuella hälsokontroller utförs och ingen kontinuerlig övervakning är på plats.

Systemarkitekturprestanda är ett mått på hur mycket ett system bearbetar (genomströmning) och hur snabbt det svarar (latens). Du förstår vanligtvis ditt systems prestanda genom produktionstest och övervakning.

Ett effektivt system slutför processer i rätt tid vid varje förväntad efterfrågan.

Dålig prestanda går hand i hand med högre latens och lägre genomströmning, vilket leder till lägre produktivitet och ökad frustration hos användarna. Det är viktigt att åtgärda prestandaproblem eftersom de kan leda till förlust av customer Trust och ekonomiska förluster.

Du kan förbättra prestandan för dina lösningar genom att optimera genomströmning och latens.

Obs! Optimering av genomströmning och latens är viktiga aspekter för att förbättra systembearbetning och respons. Det är dock viktigt att komma ihåg att övergripande systemprestanda också beror på hur bra du bygger för skala. Du måste överväga båda dimensionerna i din design.

I Salesforce-arkitekturen är genomströmning antalet samtidiga begäranden som ett system kan utföra inom ett givet tidsintervall. Kunders Salesforce-lösningar som är utformade och optimerade för genomströmning fungerar bättre inom Salesforce Platforms inbyggda styrande gränser.

Optimering av genomströmning i Salesforce börjar med att korrekt beräkna arbetsbelastningar i ditt system och planera för deras tillväxt. Utan korrekta prognoser för de krav som kommer att ställas på systemet går det inte att hitta potentiella problem med systemets genomströmningskapacitet.

När du tänker på arbetsbelastningar, tänk på dessa tre dimensioner.

  • Antalet transaktioner som ditt system måste bearbeta under en viss tidsperiod
  • Antalet användare som måste komma åt ditt system samtidigt
  • Den övergripande komplexiteten för transaktionslogik i systemet

När det gäller prestanda fokuserar team ibland för snävt på beräkning och begränsningarna för maximal CPU-tid, som är bland plattformens styrande gränser. Team med snävt fokus på CPU-tid missar andra metoder för att optimera genomströmning. Att utöka ditt fokus och tillämpa dessa metoder förbättrar den övergripande genomströmningen och effektiviteten i din Salesforce-arkitektur. Dessa förbättringar kommer i sin tur att bidra till att minska latensen och öka den övergripande systemprestandan. ApexGuru upptäcker proaktivt genomströmningsbegränsande antimönster som SOQL i loopar, DML i loopar, ineffektiva GGD-anrop och dyra metoder. Dessa insikter hjälper team eliminera styrande begränsningar som begränsar genomströmningen.

Optimera genomströmning i ditt system:

  • Förmån för asynkron bearbetning. Salesforce Platform använder transaktionssammanhang för att styra dataintegritet och begränsa oönskad kod. Se transaktioner i Grundläggande arkitektur i Grundläggande arkitektur. Av denna anledning kan användning av asynkron (asynkron) bearbetning där så är möjligt hjälpa till att minimera potentiella flaskhalsar i synkrona utförandesammanhang. Se datahantering. Att använda asynkrona beräkningar botar inte alla typer av prestandaproblem, och du måste ta hänsyn till latens när du införlivar asynkrona processer. Vissa plattformsfunktioner, som köbara Apex, kan öka latensen under trafiktoppar eftersom de gör att meddelanden väntar längre i en kö. Beroende på ditt användningsfall kan du välja att tolerera en potentiell minskning av responsiviteten för att bibehålla eller förbättra genomströmningen. I andra fall kan du bestämma att ökad latens inte är acceptabelt. Med Skaltest kan du validera dessa kompromisser genom att simulera trafiktoppar i en Fullständig sandbox. Där kan du mäta hur jobben påverkar genomströmning och latens.
  • Använd alltid buntning. På hög nivå innebär buntning att utföra åtgärder mot samlingar. Ofta fokuserar team som diskuterar buntning för sina Salesforce-lösningar på att effektivisera dataoperationer mot samlingar. Se Operativ logik. Bulk på systemnivå innefattar dock mer än bara dataoperationer. Överväg även vissa uppgifter, som anrop eller komplexa beräkningar, som kandidater för buntning. Korrekt buntning minskar overhead. Den utför flera operationer med en begäran istället för en begäran per operation. ApexGuru lyfter fram anti-bulkifieringsmönster som DML eller SOQL inuti loopar, som du kan åtgärda innan du skalar till produktion. Se Bulkoperationer.
  • Använd SOSL för sökningar och behandla SOQL som en dataoperation. Det kan verka uppenbart att användning av alltför komplexa SOQL-uttryck kommer att öka tiden det tar för systemet att hämta poster. SOQL lägger till overhead i den underliggande relationsdatabasen, vilket gör bearbetningen långsammare. Vid användning av text eller jokertecken är SOSL mer effektivt. SOSL använder plattformens sökmotor, som är optimerad för fulltextindexering och universella sökningar. För att optimera mönster för posthämtning, se till att dina designstandarder specificerar när SOSL ska användas för att hitta data i ditt system. Se även till att de specificerar hur SOQL ska användas för effektiva dataoperationer. Se Operativ logik).
  • Använd plattformscache och ApexGuru. Lightning-plattformens cachelager ger snabbare prestanda och bättre pålitlighet vid cachning av Salesforce-sessionsdata och organisationsdata. Plattformscache förbättrar prestandan genom att distribuera cacheutrymme så att vissa program eller operationer inte stjäl kapacitet från andra. ApexGuru upptäcker missade säljprojekt för att cacha upprepade sökfrågor (till exempel plattformscache för SOQL-resultat), vilket förbättrar genomströmningen i miljöer med hög skala.

Mönstren och antimönster för prestanda visar hur korrekt och dålig genomströmning ser ut i en Salesforce-organisation. Använd dem för att validera dina konstruktioner innan du bygger, eller för att identifiera möjligheter till ytterligare optimering.

Mer information om Salesforce-verktyg för genomströmningsoptimering finns i Salesforce-verktyg för tillförlitlighet.

Latens är ett mått på hur snabbt ett system utför en körningsväg. Att optimera genomströmningen i ditt system kommer att bidra till att förbättra latensen. En annan dimension av latens är upplevd prestanda, eller hur responsivt systemet verkar för användare.

Personer vill inte vänta på att sidor ska läsas in eller att processer ska slutföras. Användare av ditt system kommer att bli frustrerade om de ofta upplever långa inläsningstider när de försöker navigera listvyer, postsidor, rapporter och så vidare. När detta händer kan kunder eller partners bestämma sig för att ta sin verksamhet någon annanstans istället för att hantera system som fungerar dåligt. Internt kan anställda skapa lösningar för att undvika att använda systemet som det är utformat, vilket kan orsaka problem längre ner för säkerhet och dataintegritet.

Upplevd prestanda kan vara svår att diagnostisera. Om en användare rapporterar långsam prestanda kanske supportteam inte kan återskapa problemet. Ökad latens är ofta resultatet av en kombination av mindre problem som bygger på varandra, vilket kan göra det svårt att diagnostisera den exakta orsaken till upplevda prestandaproblem.

Minska latens och förbättra respons i ditt Salesforce-system:

  • Optimera rapporter. Se till att varje rapport har ett enskilt, specifikt syfte. Identifiera tydligt målgruppen och syftet med varje rapport i ditt system. I rapporter, inkludera endast den minsta mängd data som målgruppsmedlemmar behöver för att fatta beslut. Att ta bort kolumner som inte stämmer överens med en rapports syfte förbättrar rapportprestandan genom att minska mängden data som behöver hämtas och visas.
  • Optimera filter. Effektiva filter snabbar på prestandan för rapporter och listvyer genom att korrekt ange antalet rader som hämtas från databasen. Som en allmän regel gäller att ju mer specifik du gör din filterlogik, desto effektivare blir den underliggande sökfrågan för data. Sätt att optimera filter inkluderar:
    • Använda “lika med” och “inte lika med” istället för “innehåller” och “innehåller inte”
    • Undvika filtrering efter formelfält
  • Förenkla din delningsmodell. En alltför komplex delningsmodell kan sakta ner en mängd olika processer eftersom systemet måste kontrollera delnings- och visningsmodellen för att avgöra om en användare har åtkomst till de data som ska visas eller bearbetas. Komplexa delningsberäkningar kan öka latensen i rapporter, listvyer och automatisering som körs i användarens sammanhang. Se Delning och synlighet.
  • Optimera egna användargränssnittkomponenter. Komponenter för egna användargränssnitt (UI) kan öka latensen. För att optimera prestandan i egna användargränssnittkomponenter, överväg att göra dessa saker.
    • Använd Lightning-webbkomponenter (LWC). LWC-ramverket är nära anpassat till moderna webbstandarder. Egna komponenter skrivna i LWC återges mer effektivt i webbläsare och låter utvecklare använda mer effektiva JavaScript-metoder. Sikta alltid på att använda LWC istället för äldre användargränssnitttekniker, som Aura eller Visualforce.
    • Använd Lightning Data Service. Lightning Data Service hanterar skapandet och underhållet av säker, effektiv och delad cachning mellan komponenter. Använd den för att undvika onödiga rundturer till servern för data—och för att öka den övergripande programresponsen.
    • Använd sortering och filtrering på klientsidan för listdata. För både LWC- (rekommenderas) och Aura-komponenter (annars) kan utvecklare använda standardfunktioner i JavaScript-matriser för att sortera, filtrera och välja värden på klientsidan, vilket minskar antalet resor till servern som behövs.

Mönstren och antimönster visar hur korrekt och dålig latens ser ut i en Salesforce-organisation. Använd dem för att validera dina konstruktioner innan du bygger, eller för att identifiera möjligheter till ytterligare optimering.

Mer information om Salesforce-verktyg för latensoptimering finns i Salesforce-verktyg för tillförlitlighet.

Denna tabell visar ett urval av mönster att leta efter eller bygga i din organisation, och antimönster att undvika eller rikta in sig på för att åtgärda.

✨ Upptäck fler mönster för prestanda i Mönster & Anti-Mattern Explorer.

Mönster Anti-Patterns
Genomströmning I dina designstandarder:
- Vägledning för hur man använder plattformscache följer plattformscacherekommendationer
I dina designstandarder:
- Om det finns riktlinjer för plattformscacheanvändning är det inte tydligt eller överensstämmer inte med rekommenderade metoder.
I din organisation:
- Bulkifiering används för data- och systemoperationer.
- DML eller databasmetoder fungerar alltid mot samlingar i Apex.
- De fält som används under DML för kortare elapsedTime i databasen är begränsade.
- Alla jokertecken kriterier används i SOSL.
- SOQL-uttryck är selektiva.:
-- De använder inte LIKE-jämförelser eller delvis textjämförelser.
-- Jämförelseoperatorer använder positiv logik (med andra ord INKLUDERAR eller IN) som sin primära logik eller enda logik.
-- = NULL och != NULL används endast sällan efter en positiv jämförelseoperator.
– För att minimera datainläsning och maximera prestanda hämtas endast de fält som behövs i SOQL-frågor.
-- Inga LIMIT 1-uttryck används.
-- Nyckelordet ALL ROWS används inte.
- Asynkron bearbetning föredras där så är möjligt.
- Plattformscachepartitioner är konfigurerade.
I din organisation:
- DML-uttryck buntas inte.
- DML eller databasmetoder fungerar mot enskilda poster i Apex.
- SOSL används sällan eller inte konsekvent för jokertecken urvalskriterier.
- SOQL-uttryck är icke-selektiva:
-- De inkluderar filterkriterierna LIKE och jokertecken.
-- Jämförelser som använder kriterierna !=, NOT eller NOT IN används som den primära eller enda jämförelseoperatorn.
-- Använder = NULL och != NULL-kriterier som primära eller enda jämförelseoperatorer.
-- LIMIT 1-uttryck används.
-- Nyckelordet ALL ROWS används.
- SOQL visas inom loopar.
- Synkrona processer gynnas.
Latens I din organisation:
- Rapporter tjänar ett enda specifikt syfte och innehåller det lägsta antalet rader och kolumner som behövs för att fatta beslut.
- Filter använder "lika med" och "inte lika med".
- Filter innehåller inte formelfält.
- Delningsmodeller förenklas så mycket som möjligt.
- Egna användargränssnittkomponenter använder Lightning webbkomponenter (LWC).
- LWC använder Lightning Data Service för dataoperationer.
- Sortera och filtrera listdata hanteras på klientsidan i JavaScript.
- Salesforce Edge är aktiverat.
I din organisation:
- Rapporter tjänar flera syften eller innehåller extra rader och kolumner som inte behövs för att fatta beslut.
- Filter använder "innehåller" och "innehåller inte".
- Filter innehåller formelfält.
- Delningsmodeller är komplexa.
- Egna användargränssnittkomponenter använder ramverk som kan resultera i mindre effektiv återgivning än LWC (t.ex. Aura eller Visualforce).
- LWC använder Apex för dataoperationer.
- Sortera och filtrera listdata hanteras på serversidan med Apex.
- Salesforce Edge är inte aktiverat.

Skalbarhet är ett systems förmåga att prestera enhetligt när det utvecklas och växer. Ett skalbart system hanterar stora ökningar i transaktionsvolymer eller samtidig åtkomst utan grundläggande ändringar. Salesforces plattformstjänster är utformade för att stödja programmets skalbarhet. Se Intern plattformsbearbetning. Med detta sagt, när din organisation växer och efterfrågan på dina produkter och tjänster ökar, är du ansvarig för att skapa ett system som kan fungera effektivt och som förväntat. Arkitektur för skalbarhet från början resulterar i snabbare leverans av nya funktioner och färre serviceavbrott när användartrafiken ökar. Innan nya funktioner distribueras till produktion, använd Skalatest tidigt i designfasen för att simulera beräknade arbetsbelastningar och validera att arkitekturen kan skalas för att stödja dem.

System som inte är utformade för skalbarhet kräver konstant och kostsam felsökning, omdesign och omfaktorisering. Skalbarhetsproblem förvärras över tid, vilket försämrar prestandan i hela systemet. I vissa fall spenderar företag merparten av utvecklings- och underhållsresurserna på att hantera skalbarhetsproblem istället för på nya funktioner som skapar värde.

Ibland når ett företag en viktig brytpunkt. Den ursprungliga utformningen av dess system kan inte stödja verksamhetens tillväxt och oväntade händelser gör systemet instabilt. Använd insikter från Scale Center för att tidigt identifiera tipspunkter för skalbarhet. Skalcenter lyfter fram undantagsplatser, långdragna transaktioner och flaskhalsar i kön som förvärras med tiden.

Du kan skapa bättre skalbarhet genom att fokusera på datamodelloptimering och hantering av datavolymer.

Obs! Även om det inte diskuteras här är testning av skalbarhet en viktig del av valideringen av dina programarkitekturer. Mer information finns i Teststrategi.

Datamodellering innefattar att strukturera objekten i din organisation och relatera dem till varandra på ett sätt som låter dina användare och automatiserade processer hämta de data de behöver så snabbt som möjligt. Att vidta steg för att förbättra genomströmningen åtgärdar många prestandaproblem, men dina ansträngningar kommer inte att bli lika effektiva utan en optimerad datamodell.

De negativa effekterna av en dåligt utformad datamodell märks inte omedelbart; dess svagheter exponeras när systemet växer i form av datavolym, processer, användare och integreringar. En väl utformad datamodell gör det enklare att kontinuerligt refaktorisera din applikation allt eftersom krav läggs till och utökas. ApexGuru lyfter fram anti-mönster för dataåtkomst som icke-selektiv SOQL, oanvända fält och schemaineffektivitet som direkt påverkar datamodellens skalbarhet.

Optimera din datamodell:

  • Använd de färdigbyggda datamodellerna från Salesforce. Salesforce tillhandahåller färdigbyggda datamodeller för försäljning, service och en mängd olika branschvertikaler. Att använda de datamodeller som tillhandahålls av Salesforce säkerställer att kapacitet i ditt system endast definieras en gång, vilket eliminerar överflödighet och silos och etablerar en enskild källa till sanning i hela systemet. Eftersom du använde Salesforces färdigbyggda datamodeller för den enskilda källan är det enklare att förstå programdata med Analytics och att använda Salesforces färdigbyggda tjänster för artificiell intelligens. Att minska de anpassningar du måste stödja sänker även underhållskostnaderna och minskar den tekniska skulden.
  • Välj rätt datatyper. Förstå de olika typerna av fält som stöds av Salesforce och deras begränsningar. Överväg rapporterings- och krypteringskrav så att du kan undvika att behöva konvertera data mellan typer i framtiden.
  • Välj rätt relationer. Salesforce har stöd för två typer av relationer mellan objekt: huvud-detalj och sökning. Huvud-detalj-relationer erbjuder två huvudsakliga fördelar. En är inbyggda summeringssammanfattningsfunktioner, som räknar och aggregerar detaljer från underordnade poster. Den andra är en inbyggd kapacitet för kaskadborttagning, genom vilken borttagning av en överordnad post även tar bort dess underordnade poster. Se dock till att du förstår effekterna av delning och dataförvrängningar av huvud-detalj-relationer innan du bestämmer dig för att använda dem.
  • Denormalisera för skala. Normalisering är processen att strukturera din datamodell för minskad dataredundans och förbättrad dataintegritet. Tyvärr orsakar normalisering ibland problem med skalning. Denormaliserade tabeller kan prestera bättre i skala, men kom ihåg att tänka på dataintegritet och redundans.

Mönstren och antimönster visar hur korrekt och dålig datamodelloptimering ser ut i en Salesforce-organisation. Använd dem för att validera dina konstruktioner innan du bygger, eller för att identifiera möjligheter till ytterligare optimering.

Mer information om Salesforce-verktyg för datamodelloptimering finns i Salesforce-verktyg för tillförlitlighet.

Datavolym är ett mått på mängden data som lagras i ditt system, baserat på antal poster och storlekar. Om din organisation har tiotusentals användare, tiotals miljoner poster eller hundratals gigabyte totalt postlagringsutrymme har du en stor datavolym. Mängden data och relationerna mellan objekt i din organisation påverkar skalbarheten och kommer troligen att ha en större påverkan på skalbarheten än enbart antalet poster.

Förbättra skalbarheten för organisationer med stora datavolymer:

  • Distribuera underordnade poster. Undvik skevhet av överordnad-underordnad data genom att säkerställa att ingen överordnad har ett stort antal underordnade poster. Den allmänna rekommendationen är att ingen överordnad ska ha fler än 10 000 underordnade poster. Till exempel, i en distribuering som har många kontakter men inte använder konton, överväg att konfigurera flera kontoposter och distribuera relaterade kontaktposter mellan dem.
  • Fördela ägarskap för poster. Undvik ägarförvrängningar genom att säkerställa att ingen enskild användare eller kö äger, eller att alla medlemmar i en enskild roll eller offentlig grupp äger mer än 10 000 poster från samma objekt. Att "parkera" data med en "dummy user" är en praxis som ofta leder till ägarskapsförvrängningar. Om du stöter på detta problem, tänk på hur det kommer att påverka delningsberäkningar. Om du inte kan omfördela poster för att minska ägarförskjutningen, undvik att tilldela den dataägande användaren till en roll. Om din organisations delningsmodell kräver en rolltilldelning, placera den dataägande användaren i en distinkt roll högst upp i delningshierarkin. Tillåt inte frekventa eller oplanerade ändringar i den användarens roll. eftersom ändringar kommer att ha betydande prestandapåverkan på grund av omräkningar av delning. Håll användaren utanför offentliga grupper som kan refereras i delningsregler.
  • Minska mängden postdata i Salesforce. Salesforce är utformat för att ge företag en samlad vy av sina kunder. Det kan verka kontraintuitivt att begränsa data i Salesforce är en rekommenderad metod. Kraften hos den enskilda vyn ligger dock i hur väl den låter företagsanvändare förstå och vidta åtgärder för kunddata. När datavolymen ökar leder data som inte är aktuella eller relevanta för dagliga processer eller analyser till flera problem. Dessa problem inkluderar försämrad appprestanda, ökad datasäkerhetsrisk och negativ påverkan på sökning, rapportering och analys. För att undvika sådana problem, definiera en datalivscykel för varje objekt i din datamodell, med tidslinjer och klassificeringar för data när de åldras och förlorar omedelbart verksamhetsvärde. I enlighet med datalivscykeln, implementera dessa procedurer för att hantera data över tid.
    • Dataarkivering och rensning För att hålla datavolymerna så låga som möjligt, ta bort poster som inte behövs av verksamheten för att hjälpa till att hålla datavolymerna så låga som möjligt. Använd Bulk API 2.0:s hårdraderingsfunktion för att ta bort stora datavolymer.
    • Dataaggregering – Skapa egna objekt för aggregering som sammanfattar viktiga historiska trender eller sammanfattningsdata i ett format som är kompatibelt med rapportering. Fyll i de egna objekten med Apex-sats. Användare kan sedan köra rapporter baserade på de aggregerade objektposterna.
    • Datanivåer. Hantera stora datauppsättningar i ett annat program om de inte behövs för Salesforce-rapporter eller dagligt arbete. Gör data tillgängliga i Salesforce efter behov via sammanslagningar, anrop eller externa objekt.

I praktiken kanske du inte alltid kan åtgärda grundorsaken till ett skalbarhetsproblem direkt när problem uppstår. Av denna anledning tillhandahåller Salesforce alternativ för att hjälpa till att lindra omedelbara smärtpunkter. Det är viktigt att veta att aktivering av dessa funktioner i din organisation inte är en hållbar, långsiktig arkitektonisk strategi för att hantera stora datavolymer. Dessa kortsiktiga lösningar för att kringgå luckor kan hjälpa till att minska latensen i system som lider av dålig dataarkitektur, men de kan även lägga till teknisk skuld till din organisation.

Kortsiktiga lösningar för skalproblem inkluderar:

  • Egna index Index lagras i en speciell intern tabell som plattformens sökfrågeoptimerare använder för att snabba på dataåtkomståtgärder. Se Multitenantindex). Plattformen indexerar automatiskt vissa typer av fält som standard. För att snabba på sökfrågor med dåligt resultat kan du begära ytterligare egna index genom att kontakta Salesforces kundsupport. Använd verktyget Frågeplan för att avgöra om egna index kommer att förbättra prestandan för dina sökfrågor.
  • Smala bord. Om du behöver ytterligare optimera sökfrågor för vanliga uppsättningar fält i objekt med mer än 1 miljon poster kan smala tabeller hjälpa dig. Skinny-tabeller eliminerar den bakgrundssammanslagning som sker vid användning av egna fält och standardfält från samma objekt i en rapport eller automatisering. För att du ska kunna använda smala tabeller måste Salesforces kundsupport aktivera dem för din organisation.

Mönstren och antimönster för skalbarhet visar hur korrekt och dålig hantering av datavolymer ser ut i en Salesforce-organisation. Använd dem för att validera dina konstruktioner innan du bygger, eller för att identifiera möjligheter till ytterligare optimering.

Mer information om Salesforce-verktyg för att hantera datavolymer finns i Salesforce-verktyg för tillförlitlighet.

Detta visar ett urval av mönster att leta efter eller bygga i din organisation, och antimönster att undvika eller rikta in sig på för att åtgärda.

✨ Upptäck fler mönster för skalbarhet i Mönster & Anti-Pattern Explorer.

Mönster Anti-Patterns
Datamodellering I dina designstandarder:
- Standarder och riktlinjer för vilka verksamhetsmotiveringar som motiverar ett eget objekt finns.
I dina designstandarder:
- Det finns inga standarder för att skapa egna objekt.
I din datamodell:
- Standardobjekt används när så är möjligt.
- ApexGuru-kontroller för anti-mönster bekräftar att SOQL-frågor är selektiva och undviker ineffektiv schemaanvändning.
- Tabeller är denormaliserade för skala.
I din datamodell:
- Du har replikerat standardobjekt.
- Tabeller normaliseras för att undvika överflödighet.
Inom din verksamhet:
- Byggare med låg kod förstår de olika fälttyperna som stöds av Salesforce och de utvärderar rapporterings- och krypteringskrav innan de väljer fältdatatyper.
- Innan du bestämmer dig för att etablera en huvud-detalj-relation mellan objekt utvärderar du delnings- och dataförvrängningar av denna relation.
Inom din verksamhet:
- Lågkodsbyggare väljer datatyper utan att utvärdera rapporterings- och krypteringskrav längre ner.
- Innan du bestämmer dig för att etablera huvud-detalj-relationer mellan objekt utvärderar du inte delnings- och dataförvrängningar av den relationen.
Datavolym I dina data:
- Inga överordnade poster har mer än 10 000 underordnade poster.
- Inga användare tilldelas till mer än 10 000 poster av samma objekttyp.
- Inga instanser innehåller mer än 10 000 poster som har sökfält som pekar till samma post.
- Massdataladdningar sorteras i satser enligt ParentId-fältvärden.
- För att säkerställa att batchstrategier inte bryts samtidigt används Skaltest för att validera massbelastningsmönster i produktionsskala.
- Massdatainläsningar i produktion inträffar inte under rusningstid.
- Massdataladdningar inkluderar endast de minsta data som behövs för affärsbeslut.
I dina data:
- Poster med mer än 10 000 underordnade poster finns.
- Användare tilldelas till mer än 10 000 poster av samma typ.
- Instanser finns där mer än 10 000 poster har sökfält som pekar till samma post.
- Massdatainläsningar sorteras inte i satser enligt ParentId-fältvärden.
- Massdatainläsningar i produktion inträffar under rusningstid.
- Massdataladdningar är inte begränsade till de minsta data som behövs för affärsbeslut.
I flöde och Apex :
- Logik finns för att distribuera antalet underordnade poster över flera överordnade poster i scenarion där dataförvrängning är ett problem.
- Vid import eller replikering av poster via integrering tilldelar logik dem till lämpliga mänskliga användare.
- För Apex samlingar, som listor och uppsättningar, finns logik för att bearbeta flera poster för att minimera sökfrågor och optimera datahantering.
- Effektiv Apex kod som följer standarder och rekommenderade metoder för skalbar kod skrivs och distribueras.
I flöde och Apex :
- Underordnade poster tilldelas godtyckligt till överordnade poster, oavsett antalet underordnade poster som redan är tilldelade.
- Poster som skapats via datainläsningar eller integreringar tilldelas till en allmän "integreringsanvändare".
- Flera rekursiva SOQL-frågor från samma objekt är i synkrona transaktioner, vilket leder till hög heapanvändning.
När utvecklare skriver Apex kod introducerar de ineffektivitet och antimönster.
Inom din verksamhet:
- Du har dokumenterat och implementerat en dataarkiverings- och rensningsstrategi
Inom din verksamhet:
- Du har inte en dataarkiverings- och rensningsstrategi eller så har din strategi dokumenterats men inte implementerats
VerktygBeskrivningTillgänglighetPrestandaSkalbarhet
Stora objekt Lagra och hantera stora mängder data på plattformen. X
Kodskanner Skanna Apex kod efter prestandaproblem. X
Egna index Förbättra sökfrågeprestandan med egna index. X
Ta bort data Ta bort onödiga data för att förbättra prestandan. X X
Avdelningar Partitionera data för att begränsa antalet poster i sökfrågor och rapporter. X
Skaltes t Testa systemprestanda och tolka resultaten. Innan du distribuerar till produktion, för att validera skalbarhet och prestanda, imitera storskaliga användargränssnitt och API-arbetsbelastningar med hjälp av Playwright- eller JMeter-skript. X X
Skalcenter Få självbetjäning och insikter i realtid om systemprestanda. Hitta långvariga transaktioner, undantagsplatser och flaskhalsar i genomströmningen. Diagnostisera skalproblem tidigare i din utvecklingscykel. X X
ApexGuru Använd denna GenAI-baserade funktion i Skalcenter för att upptäcka Apex, SOQL och antimönster för testklasser vid runtime. Genom ApexGurus integrering med Salesforce Code Analyzer, få AI-drivna rekommendationer och direktkorrigeringar i utvecklingsflödet. Använd dessa rekommendationer och fixar för att lösa hotspots och förbättra sökfrågeselektivitet, buntning, cacheanvändning och testkvalitet. X X
Salesforce kodanalysator Skanna kod med IDE, CLI eller CI/CD för att säkerställa att den följer rekommenderade metoder. Genom Salesforce Code Analyzers integrering med ApexGuru, få insikter om prestandaantimönster direkt i utvecklarflödet. X
Salesforce Edge-nätverk Förbättra nedladdningstider och användarupplevelsen genom att dirigera din Min domän genom Salesforce Edge-nätverket. X
Skinny Tables Undvik sammanslagningar i tabeller som ofta använder fält. X
Proactive Monitoring Bevaka kontinuerligt avvikelser i posttillväxt, ägarförskjutning och prestandaregressioner. Varna om skalproblem innan de blir viktiga. X X
ResursBeskrivningTillgänglighetPrestandaSkalbarhet
Skalningsutmaningar kostar miljoner — Så här framtidssäkrar du din verksamhet Upptäck hur implementering av skalbarhet leder till hållbar tillväxt och långsiktig framgång. X X
Bygg och distribuera skalbara program med Skalcenter Förstå hur du proaktivt bedömer och löser prestandaproblem i dina Salesforce-implementeringar.
Analysera prestanda och skala upp hotspots i komplexa Salesforce-appar Hantera problem med prestanda och skalbarhet i din organisation. X X
Din app ska inte få panik i rusningstrafik – Så här förbereder du dig Lär dig fyra viktiga steg för framgångsrika skaltester.
Förklaring av ApexGuru AI-motorn Få reda på hur ApexGuru använder anpassade modeller, verklig organisationstelemetri och intelligent filtrering för att leverera exakta, sammanhangsbaserade och användbara insikter. X X
Optimera din Apex för appar och Agentforce med ApexGuru Få reda på hur ApexGuru hjälper utvecklare upptäcka och åtgärda prestandaantimönster, inklusive SOQL, DML, felsökning och testineffektivitet., Använd ApexGuru som en AI-driven coach för den skalbara utvecklingen av dina appar och din implementering av Agentforce. X X
ApexGuru-antimönster Lär dig från det officiella biblioteket med ApexGuru-upptäckta antimönster, som uppdateras för varje större Salesforce-utgåva. X X
Rekommenderade metoder för distribueringar med stora datavolymer Förstå processpåverkan av stora datavolymer. X
Att tänka på vad gäller Salesforce Edge-nätverk Få reda på hur du förbereder din organisation för att använda Salesforce Edge-nätverk. X
Designstandardmall Skapa designstandarder för din organisation. X X X
Att tänka på vad gäller datamodelldesign Optimera datamodeller för skala och underhåll. X X
Utforma poståtkomst för företagsskala Optimera prestanda för åtkomstkontroll genom konfiguration. X
Infrastruktur för system med stora datavolymer Få reda på mer om kapacitet som stöder systemprestanda för distribueringar med stora datavolymer. X
Lärresurser för batchhantering Få reda på mer om batchhantering. X X
Prestandaoptimering i Lightning Experience Förbättra Lightning Experience i din organisation för att hjälpa dina användare arbeta snabbare. X
Hantera sökskevhet i Salesforce för att undvika postlåsundantag Förstå hur du minimerar effekterna av sökförvrängningar. X X
Rekommenderade metoder för SOQL och SOSL Följ de rekommenderade metoderna för SOQL och SOSL för distribueringar med stora datavolymer. X X
Verktyg för storskaliga anpassningar Planera och utför omplaceringar effektivt. X
Använda Mashups Behåll stora datauppsättningar i ett annat program. X X

Hjälp oss hålla Salesforce Well-Architected relevant för dig. Gå igenom vår undersökning för att ge feedback om detta innehåll och berätta vad du vill se härnäst.