Kembali ke Artikel
2024-01-01•8 menit baca

Optimasi Performa Aplikasi Web

PerformanceWebOptimization

Teknik praktis untuk meningkatkan performa aplikasi web.

Optimasi Performa Aplikasi Web

Performa penting untuk pengalaman pengguna. Mari bahas teknik optimasi yang praktis.

Core Web Vitals

  • LCP (Largest Contentful Paint): kurang dari 2,5 detik.
  • FID (First Input Delay): kurang dari 100 milidetik.
  • CLS (Cumulative Layout Shift): kurang dari 0,1.

Optimasi Frontend

Pemisahan Kode

Muat bagian aplikasi hanya saat diperlukan:

const LazyComponent = lazy(() => import('./HeavyComponent'));

function App() {
  return (
    <Suspense fallback={<Loading />}>
      <LazyComponent />
    </Suspense>
  );
}

Optimasi Gambar

Gunakan komponen gambar dengan ukuran serta pemuatan yang sesuai:

import Image from 'next/image';

<Image
  src="/photo.jpg"
  alt="Description"
  width={800}
  height={600}
  loading="lazy"
/>

Memoization

Hindari perhitungan ulang yang tidak perlu:

const MemoizedComponent = memo(function ExpensiveComponent({ data }) {
  return <div>{processData(data)}</div>;
});

Optimasi Backend

Cache

Simpan hasil yang sering dibaca agar tidak perlu mengambilnya berulang kali:

// Redis cache example
async function getUser(id: string) {
  const cached = await redis.get(`user:${id}`);
  if (cached) return JSON.parse(cached);

  const user = await db.users.find(id);
  await redis.set(`user:${id}`, JSON.stringify(user), 'EX', 3600);
  return user;
}

Indeks Database

Tambahkan indeks untuk mempercepat pencarian yang sering dilakukan:

CREATE INDEX idx_users_email ON users(email);

Pemantauan

Gunakan alat seperti Lighthouse, WebPageTest, New Relic, dan Sentry.

Kesimpulan

Ukur performa terlebih dahulu, lalu prioritaskan perbaikan yang dampaknya paling besar.