API ir jādarbojas pēc iespējas ātrāk, lai apkalpotu potenciāli milzīgu skaitu klientu. Izmantojiet šos padomus, lai pielāgotu API maksimālam ātrumam.

Ātrā mikropakalpojumu arhitektūras ieviešana ir nostiprinājusi API lomu kā galveno saziņas līdzekli mūsdienu attīstībai. API nodrošina efektīvu datu apmaiņas līdzekli starp klientiem un servera puses lietojumprogrammām, kā arī starp dažādām aizmugursistēmām.

Express.js nodrošina elegantu risinājumu RESTful API izveidei. Taču izstrādes gaitā ir svarīgi noteikt prioritāti veiktspējas pasākumiem.

Tas garantē, ka jūsu API ne tikai darbojas efektīvi, bet arī darbojas optimāli. Galu galā tīmekļa lietotne ar labu veiktspēju nodrošina labāku lietotāja pieredzi un lielākas izredzes gūt panākumus.

Express.js REST API veiktspējas optimizācija

Express.js izmanto Node.js asinhrono raksturu un notikumu vadītu arhitektūru, lai sasniegtu izcilus ātruma un veiktspējas līmeņus.

Tomēr, optimizējot Express.js REST API var dot vēl lielāku labumu. Tie ietver ievērojami uzlabotus reakcijas laikus, uzlabotu uzticamību un palielinātu jūsu lietojumprogrammu efektivitāti, kas nodrošina netraucētu un saistošu lietotāja pieredzi.

instagram viewer

Piešķirot prioritāti API veiktspējai, jūs bruģējat ceļu uz visas programmatūras panākumiem.

Šeit ir daži padomi, ko varat izmantot, lai uzlabotu savu REST API veiktspēju.

1. Optimizējiet datu bāzes vaicājumus

Efektīva datu izgūšana un manipulēšana no datu bāzes var būtiski ietekmēt REST API veiktspēju.

Optimizējot datu bāzes vaicājumus, jūs varat ievērojami samazināt vaicājuma izpildes laiku un samazināt resursu patēriņu. Tas galu galā uzlabos jūsu Express.js lietojumprogrammas veiktspēju kopumā.

Šeit ir daži noderīgi padomi datu bāzes vaicājumu optimizēšanai.

  1. Izmantot datu bāzes indeksi. Identificējiet vaicājumos bieži izmantotās kolonnas un izveidojiet šajās kolonnās atbilstošus indeksus. Tas ļauj datu bāzes programmai ātri atrast un izgūt nepieciešamos datus, kā rezultātā vaicājums tiek izpildīts ātrāk.
  2. Ieviest lappusi. Strādājot ar lielām datu kopām, izmantojiet lappušu piešķiršanu. Tā vietā, lai ienestu visus datus uzreiz, ierobežojiet katrā vaicājumā atgriezto datu apjomu.
  3. Izvairieties no liekiem vaicājumiem. Analizējiet savu kodu, identificējiet un izlaidiet visus liekos vaicājumus. Attiecīgi pārveidojot savus vaicājumus, var tikt būtiski uzlaboti veiktspēja.

2. Izmantojiet kešatmiņu visā savā lietotnē

Kešatmiņa ir paņēmiens, ko izmanto bieži piekļūtu datu glabāšanai kešatmiņā, pagaidu uzglabāšanas sistēmā. Vienkārši sakot, kad klients pieprasa datus, serveris vispirms pārbauda savu kešatmiņu, nevis tieši vaicā datu bāzē.

Ja tas atrod pieprasītos datus kešatmiņā, tas nekavējoties tos atgriež, apejot nepieciešamību pēc turpmākas apstrādes vai faktiskās piekļuves datubāzei. Tas ievērojami uzlabo API veiktspēju, samazinot atbildes laiku un samazinot lietojumprogrammas slodzi, īpaši, apstrādājot vairākus vaicājumus.

Šeit ir vienkāršs koda piemērs, kas parāda, kā ieviest kešatmiņu.

konst izteikt = pieprasīt('izteikt');
konst NodeCache = pieprasīt('mezgls-kešatmiņa');

konst kešatmiņa = jauns NodeCache();
konst lietotne = express();

app.get('/api/data', (req, res) => {
konst cacheKey = 'dati';
konst cachedData = cache.get (cacheKey);

ja (!cachedData) {
konst fetchedData = fetchDataFromDatabase();
cache.set (cacheKey, fetchedData);
cachedData = fetchedData;
}

res.json (cachedData);
});

funkcijufetchDataFromDatabase() {
//... datu iegūšanas loģika ir šeit ...
atgriezties dati;
}

Iepriekš minētais kods parāda, kā darbojas kešatmiņa, izmantojot mezgla kešatmiņas bibliotēku. Sākotnēji tas pārbauda, ​​vai pieprasītie dati jau ir saglabāti kešatmiņā. Ja datu nav, tas aktivizē datu izgūšanas funkciju no datu bāzes, pēc tam ienestos datus saglabā kešatmiņā. Visbeidzot, atgriež klientam pieprasītos datus kā JSON atbildi.

3. Iespējot HTTP saspiešanu

HTTP saspiešana ir paņēmiens, ko varat izmantot, lai samazinātu starp klientu un serveri pārsūtīto datu apjomu. Tas ietver API atbilžu saspiešanu servera pusē un to atspiešanu klienta pusē.

Iespējojot HTTP saspiešanu, atbildes slodzes lielumu var ievērojami samazināt, tādējādi nodrošinot ātrāku atbildes laiku.

Šeit ir koda piemērs, kas parāda, kā iespējot HTTP saspiešanu, izmantojot saspiešana starpprogrammatūra.

izteikt = pieprasīt('izteikt');
konst kompresija = pieprasīt('kompresija');

konst lietotne = express();
app.use (compression());

app.get('/api/data', (req, res) => {
// Apstrādājiet savu API loģiku
});

Šis koda fragments izmanto starpprogrammatūru, lai saspiestu API atbildes, pirms tas atgriež tās klientam.

4. Ieviesiet paralēlo apstrādi, izmantojot Promise.all

Paralēlā apstrāde, izmantojot Sola.viss metode ir metode, ko izmanto, lai uzlabotu API veiktspēju, vienlaikus izpildot vairākus asinhronus uzdevumus.

Izmantojot JavaScript solījumu iespējas, Promise.all ļauj vienlaikus izpildīt solījumu kopumu, nevis gaidīt, līdz katrs solījums tiks izpildīts secīgi.

Šis paņēmiens ir īpaši noderīgs, ja jums ir neatkarīgi uzdevumi, kurus var veikt vienlaikus, piemēram, veikt vairākus saistītus API pieprasījumus dažādiem galapunktiem. Veicot šos uzdevumus paralēli, jūs varat ievērojami samazināt kopējo izpildes laiku un uzlabot API atsaucību.

Šeit ir vienkāršs koda piemērs, kas parāda, kā īstenot paralēlo apstrādi, izmantojot Promise.all.

konst izteikt = pieprasīt('izteikt');
konst axios = pieprasīt("aksios");

konst lietotne = express();

app.get('/api/data', asinhrons (req, res) => {
mēģināt {
konst pieprasījums1 = axios.get(' https://api.example.com/endpoint1');
konst request2 = axios.get(' https://api.example.com/endpoint2');
konst request3 = axios.get(' https://api.example.com/endpoint3');

konst [atbilde1, atbilde2, atbilde3] = gaidītApsolīt.all([
pieprasījums1,
pieprasījums2,
pieprasījums3
]);

// Apstrādājiet atbildes pēc vajadzības
} noķert (kļūda) {
res.status(500).json({ kļūda: 'kļūda' });
}
});

Šajā piemērā kods veic API pieprasījumus trīs dažādiem galapunktiem. Izmantojot funkciju Promise.all, nododot solījumu masīvu, kods gaida, līdz tie visi tiks pabeigti, pirms atgriež atbildes masīvā.

Kad esat saņēmis visas atbildes, varat tās apstrādāt pēc vajadzības. Tomēr jums vajadzētu būt uzmanīgiem ar šo pieeju un izvairīties no pārmērīgas lietošanas, jo tas var pārslogot serveri, radot API atbildes vājās vietas.

5. Izmantojiet datu bāzes savienojumu apvienošanu

Datu bāzes savienojumu apvienošana ir metode, kas ietver atkārtoti lietojamu datu bāzes savienojumu pūla izveidi, lai efektīvi apstrādātu vairākus klientu pieprasījumus.

Tā vietā, lai katram pieprasījumam izveidotu jaunu savienojumu, lietojumprogramma atkārtoti izmanto esošos savienojumus no baseins, samazinot pieskaitāmās izmaksas, kas saistītas ar jaunu savienojumu izveidi, kā rezultātā vaicājums ir ātrāks un efektīvāks izpildi.

Šeit ir īsa koda piemērs, kas parāda, kā izmantot datu bāzes savienojumu apvienošanu ar Mangoose Express.js lietojumprogrammā.

konst mangusts = pieprasīt('mangusts');
konst { savienojums } = pieprasīt('mangusts');

konst savienojuma opcijas = {
baseina izmērs: 10,
useNewUrlParser: taisnība,
izmantojiet vienotu topoloģiju: taisnība
};

mangoose.connect("mongodb://localhost/mydatabase", savienojumsOpcijas);

Šajā piemērā savienojumu pūla lieluma rekvizīts ir iestatīts uz 10 — tas norāda maksimālo savienojumu skaitu pūlā.

Iestatot šo konfigurāciju, API var atkārtoti izmantot savienojumus, tādējādi uzlabojot API veiktspēju, samazinot pieskaitāmās izmaksas, kas saistītas ar jaunu savienojumu izveidi katram pieprasījumam.

API veiktspējas prioritātes noteikšana peļņas gūšanai

Lai optimizētu Express.js API veiktspēju, varat veikt vairākas darbības. API spēlē a svarīga loma, tāpēc ir svarīgi koncentrēties uz viņu sniegumu, lai garantētu vispārējus panākumus programmatūra.