Load Pattern:
- Ramp up: 15s → 50 users
- Hold: 30s → 100 users
- Peak: 15s → 150 users
- Ramp down: 30s → 0 users
- Total: ~90 detik per service
Panduan belajar Reactive Programming dengan contoh-contoh nyata dari codebase CIAM Service.
📊 UPDATE: Dokumen ini telah diupdate dengan data aktual dari monitoring real-time!
Hasil benchmark include resource monitoring (CPU, Memory, Threads) menggunakan scripttest/run-benchmark-with-monitoring.sh
Tanggal update: 26 Oktober 2025 | Data 100% real measurements ✅
Hasil benchmark dengan 150 pengguna konkuren pada operasi database murni:
| export const indonesianCuisine = [ | |
| { | |
| name: "Balique Restaurant", | |
| address: "Uluwatu St No.39, Jimbaran, South Kuta, Badung Regency, Bali 80361", | |
| phone: "(0361) 704945", | |
| mapLink: "https://maps.app.goo.gl/m7QLELYdeDMdAerT6", | |
| isHalal: false, | |
| image: "https://cdn.jsdelivr.net/gh/akimabs/asset/Nearby/Resto/Balique.jpg", | |
| distance: "280 m", | |
| }, |
| import React from "react"; | |
| import { Dimensions, StyleSheet, View, Text } from "react-native"; | |
| import { RecyclerListView, DataProvider, LayoutProvider } from "recyclerlistview"; | |
| // Screen width | |
| const { width } = Dimensions.get("window"); | |
| // Define the data provider with a rowHasChanged method to optimize the list rendering | |
| const dataProvider = new DataProvider((r1, r2) => r1 !== r2); |
| import { HttpStatus, Injectable } from '@nestjs/common'; | |
| import { StatusMessage } from 'src/filters/message.constant'; | |
| import { Response } from 'src/models/response.model'; | |
| import { createWorker } from 'tesseract.js'; | |
| import { ResultFindTotalPrice } from './images'; | |
| import * as fs from 'fs'; | |
| require('dotenv').config(); | |
| @Injectable() |
| import axios, { AxiosResponse } from 'axios'; | |
| import { BaseRequest, ResultType } from 'types'; | |
| import { BASE_URL } from 'env'; | |
| /** | |
| * Request helper for HTTPRequest | |
| * @param params must receive Object | |
| * @param id must receive String or Number | |
| * @param headers must receive Object | |
| * @param body must receive Object |
| export const AdjustEventTrackerProperties = ({ event, parameter }: PropsAdjustEventParameter) => { | |
| const adjustEventCode = AdjustEnum.properties[event]?.code ?? ''; | |
| // console.log('event :', event) | |
| // console.log('event code :', adjustEventCode) | |
| let adjustEvent = new AdjustEvent(adjustEventCode); | |
| parameter?.map(item => { | |
| // console.log('event parameter key :', item.key) | |
| // console.log('event parameter value :', item.value) | |
| adjustEvent.addCallbackParameter(item.key, item.value); | |
| }); |