Ada beberapa langkah yang dapat Anda ambil untuk meningkatkan kinerja sisi server. Perhatikan bahwa beberapa di antaranya tidak akan berfungsi dengan sebagian besar host yang dibagikan. Untuk kinerja hebat, Anda biasanya memerlukan kontrol berbutir halus.
Seperti halnya optimasi apa pun, Anda harus mengukur efeknya pada kinerja situs Anda. Untuk optimasi dasar adalah alat-alat seperti PageSpeed dan YSlow membantu (saya sarankan versi Firefox). Untuk pemahaman yang lebih mendalam, Anda harus mengukur waktu respons aktual sistem live Anda selama periode waktu tertentu.
PHP
Aktifkan Caching Opcode
Ini mungkin satu-satunya hal terbesar yang dapat Anda lakukan untuk meningkatkan kinerja situs Anda. Saya sarankan menggunakan OpCache atau APC . Konfigurasi cache ini dapat di-tweak untuk kinerja yang lebih besar berdasarkan pada server dan kebutuhan spesifik situs, tetapi hanya menginstal sudah merupakan dorongan besar.
Perbarui versi PHP
Versi PHP yang lebih baru secara teratur hadir dengan peningkatan kinerja. Selain itu ada sejumlah kasus di mana Joomla dapat menggunakan kode yang lebih baik ketika berjalan pada versi PHP yang lebih baru. Mulai hari ini Anda tidak boleh menggunakan versi PHP yang lebih lama dari PHP 5.4 jika Anda peduli dengan kinerja.
Pengaturan PHP
Pada versi PHP yang lebih lama (<= 5.3) berhati-hatilah untuk mematikan register_globals
dan magic_quotes_gpc
untuk kemenangan kinerja gratis. Pada PHP> = 5,6 ubah always_populate_raw_post_data
menjadi -1.
Ekstensi PHP
Joomla berisi beberapa kode untuk mengatasi ekstensi PHP yang hilang. Ini akan selalu lebih lambat dari ekstensi itu. Untuk peningkatan kinerja yang layak menginstal ekstensi berikut: mbstring
, zip
,ftp
Server web
Aktifkan gzip
Mengaktifkan kompresi sisi server memperdagangkan bandwidth untuk sumber daya CPU. Untuk sebagian besar situs di luar sana ini adalah panggilan yang tepat. Berhati-hatilah untuk hanya mengompresi data teks, mengompresi data biner akan memberikan Anda hasil CPU tanpa keuntungan bandwidth. Anda juga dapat mengaktifkan kompresi di pengaturan Joomla tetapi lebih baik jika Anda membiarkan server berurusan dengan ini.
Sumber daya statis prekompresi
Saya tidak berbicara tentang minfikasi (meskipun ini juga membantu) tetapi Anda dapat mengkonfigurasi Nginx dan Apache ke server yang sudah mengkompresi sumber daya, secara efektif menghilangkan hit CPU dari kompresi gzip. Poin bonus: Gunakan Zopfli untuk file yang lebih kecil.
Gunakan FastCGI untuk PHP
Lebih khusus Anda harus menggunakan php-fpm
. Ini mencegah memulai PHP ketika browser meminta file non-PHP.
Gunakan header cache yang sesuai
Menggunakan Expires
header dapat sangat mengurangi sumber daya server yang diperlukan. Bagaimanapun, permintaan tercepat adalah yang tidak pernah dilakukan.
Apache
Secara umum saya akan merekomendasikan menggunakan Nginx untuk situs berkinerja tinggi. Jika Anda benar-benar perlu menggunakan Apache untuk beberapa alasan saya mendapat tip bonus:
Nonaktifkan AllowOverride
Pengaturan AllowOverride
untuk None
mencegah banyak IO dan disk
Joomla
Jangan gunakan Mode FTP
Meskipun tidak memengaruhi pengguna Anda yang membaca situs, itu akan memperlambat beberapa operasi seperti pemasangan ekstensi.
Matikan ekstensi yang tidak digunakan
Ini berlaku terutama untuk Plugin, banyak di antaranya dijalankan pada setiap permintaan. Menonaktifkan menu dan komponen terutama bermanfaat saat mendaftar ekstensi yang tersedia dan jenis menu. Juga butuh 5 menit untuk melewati ekstensi yang datang dengan inti Joomla dan nonaktifkan yang tidak Anda gunakan.
Matikan Siapkan konten
Jika Anda menggunakan banyak modul khusus ( mod_custom
bukan khusus seperti yang ditulis sendiri) periksa apakah Anda dapat menonaktifkan Siapkan konten di dalamnya. Ini menghemat beberapa pemrosesan.
Gunakan Caching
Jika Anda serius tentang kinerja, Anda ingin mengaktifkan caching. Sangat berguna untuk membaca situs berat dengan banyak pengguna anonim. Pengguna yang masuk akan memotong sebagian besar cache, jika Anda memiliki banyak dari ini efeknya tidak akan sebesar.
Gunakan pengendali sesi alternatif
Dengan menggunakan pengendali sesi alternatif, Anda dapat membebaskan basis data Anda untuk hal-hal yang lebih penting. Saya tidak akan merekomendasikan file (secara membingungkan disebut Tidak Ada dalam pengaturan Joomla) karena itu akan membawa sekali lagi meningkatkan IO disk. Menggunakan APC berpotensi fastet tetapi meningkatkan risiko kehilangan semua data sesi. Jalan tengah yang tepat adalah Memcache. Meskipun ini membutuhkan proses tambahan, ini lebih dapat diandalkan daripada APC dan jauh lebih cepat daripada menyimpan semua data dalam database
Buat situs Anda tetap sederhana
Apakah Anda benar-benar membutuhkan tombol Facebook itu? Bagaimana dengan ikon imut yang tidak pernah dilihat siapa pun itu karena sebagian tersembunyi di balik spanduk? Semakin sedikit situs Anda ditampilkan semakin cepat. Sedapat mungkin gunakan CSS3, bukan gambar.
Lain-lain
Atur favicon
Terima kasih atas keputusan yang berasal dari browser Internet Explorer 4.0 membuat permintaan ke file yang dipanggil favicon.ico
setiap kali pengguna mengunjungi situs Anda. Jika Anda tidak memilikinya, ini menyebabkan IO yang tidak perlu, karena 404 respons tidak di-cache. Tentukan ikon situs Anda dengan tag meta HTML atau tambahkan file yang dipanggil favicon.ico
ke root web. Tidak ingin favicon? Tempatkan PNG transparan dengan ukuran 1x1 piksel di lokasi itu. Perhatikan bahwa ekstensi masih perlu .ico
.
Optimalkan gambar Anda
Sungguh menakjubkan, jenis tabungan apa yang bisa didapat dengan mengoptimalkan gambar, terutama file PNG. Ada berbagai alat yang tersedia untuk sistem operasi apa pun, secara pribadi saya menggunakan ImageOptim yang tersedia untuk OS X. Gambar inti Joomla sudah dioptimalkan tetapi melalui gambar Anda sendiri, terutama template yang penting. Anda juga dapat memeriksa ekstensi yang Anda gunakan. Jika itu open source, mengapa Anda tidak berkontribusi permintaan tarik berisi gambar yang baru dioptimalkan?
Maju
Jika Anda benar-benar ingin keluar semua, pertimbangkan menempatkan Varnish di depan situs Anda. Itu cache permintaan ke situs Anda dan jika mungkin melayani mereka dari cache itu sendiri, tidak pernah memukul Joomla. Ini alat yang kompleks tetapi dengan banyak kekuatan. Joomla tidak akan mengambil keuntungan dari fungsionalitas canggih seperti Edge Side Includes (ESI) tetapi kode Anda sendiri bisa.