Lompat ke konten Lompat ke sidebar Lompat ke footer

Pembuatan Profile NODEJS #4

Untuk memperbaiki masalah ini, Anda membuat modifikasi kecil pada penangan di atas untuk menggunakan versi asinkron dari fungsi pbkdf2:
app.get('/auth', (req, res) => {
let username = req.query.username || '';
const password = req.query.password || '';
username = username.replace(/[!@#$%^&*]/g, '');
if (!username || !password || !users[username]) {
return res.sendStatus(400);
}
crypto.pbkdf2(password, users[username].salt, 10000, 512, 'sha512', (err, hash) => {
if (users[username].hash.toString() === hash.toString()) {
res.sendStatus(200);
} else {
res.sendStatus(401);
}
});
});
Operasi benchmark ab baru di atas dengan versi asinkron dari aplikasi Anda menghasilkan:
Concurrency Level: 20
Time taken for tests: 12.846 seconds
Complete requests: 250
Keep-Alive requests: 250
Failed requests: 0
HTML transferred: 500 bytes
Total transferred: 50250 bytes
Time per request: 1027.689 [ms] (mean)
Requests per second: 19.46 [#/sec] (mean)
Transfer rate: 3.82 [Kbytes/sec] received
Time per request: 51.384 [ms] (mean, across all concurrent requests) ...
90% 1049
Percentage of the requests served within a certain time (ms) 50% 1018 66% 1035 75% 1041 80% 1043 95% 1063 98% 1070
100% 1079 (longest request)
99% 1071
Yay! Aplikasi Anda sekarang melayani sekitar 20 permintaan per detik, kira-kira 4 kali lebih banyak dibandingkan dengan pembuatan hash sinkron. Selain itu, latensi rata-rata turun dari 4 detik sebelumnya menjadi lebih dari 1 detik. Mudah-mudahan, melalui penyelidikan kinerja dari contoh ini (memang dibuat-buat), Anda telah melihat bagaimana prosesor tick V8 dapat membantu Anda mendapatkan pemahaman yang lebih baik tentang kinerja aplikasi Node.js Anda.

Posting Komentar untuk "Pembuatan Profile NODEJS #4"