Apa yang dapat saya lakukan, selain menggunakan plugin cache seperti jotcache, untuk meningkatkan waktu respons server situs web saya?
Saya telah menghapus semua modul, plugin, dan komponen artikel yang tidak aktif, apakah ada hal lain yang dapat saya lakukan untuk memperbaikinya?
Saya berbicara tentang waktu sebelum klien (browser) mendapat tanggapan atas permintaannya . Dan bukan waktu halaman dimuat.
php
cache
performance
server-response-time
hosting
web-tiki
sumber
sumber
Jawaban:
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
danmagic_quotes_gpc
untuk kemenangan kinerja gratis. Pada PHP> = 5,6 ubahalways_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
untukNone
mencegah banyak IO dan diskJoomla
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 dipanggilfavicon.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.
sumber
Satu hal BESAR yang dapat Anda lakukan untuk meningkatkan waktu respons untuk situs Anda adalah memperbarui pengaturan modul Anda. Modul khusus (menggunakan mod_custom) memiliki opsi untuk mengaktifkan / menonaktifkan persiapan konten. Ini memungkinkan Anda untuk menjalankan plugin konten pada konten data dalam modul khusus Anda. Ini kuat ketika digunakan dengan benar, tetapi itu menambah waktu render tambahan untuk output modul. Kecuali Anda benar-benar memanfaatkan plugin konten dalam konten modul khusus Anda, yang terbaik adalah mematikannya. Anda akan melihat penurunan waktu render modul ketika Anda melakukan ini.
Cuplikan layar pengaturan:
sumber
Saya berasumsi bahwa Anda telah menjalankan situs Anda melalui kecepatan Halaman Google, dan Anda memang sedang melihat untuk mengurangi waktu respon halaman yaitu waktu yang diambil oleh markup Anda untuk dikirim ke browser.
Penyebab paling mungkin untuk ini adalah pertanyaan berat. Aktifkan debug dan lihat di bagian bawah halaman untuk mencari tahu yang mana pertanyaan paling berat dan hapus atau kurangi. Anda juga dapat mengambil bantuan log kueri server MySQL yang lambat.
Hal berikutnya yang bisa Anda lihat adalah caching. Bergantung pada jenis situs yang Anda miliki, Anda dapat beralih dari caching yang konservatif atau progresif. Progresif harus digunakan di situs yang tidak memiliki dan fitur terkait pengguna.
sumber
Hal-hal yang saya tahu yang dapat membantu (sebagian besar telah terdaftar) adalah ini:
Saya telah menggunakan kombinasi dari cache Joomla bawaan (atau bahkan APC yang diaktifkan di server) dan plugin seperti plugin rockbooster gzip atau tema roket. Saya juga menggunakan plugin CDN nonumbers dengan akun amazon.
Ini pasti membantu, tetapi Anda harus menonton situs Anda dan menonaktifkan cache untuk komponen yang mengalami masalah. Saya harus mem-bypass CiviCRM di situs kami karena itu tidak cocok dengan caching. Joomla hadir dengan plugin cachecontrol yang dapat mengatasinya.
sumber
Anda juga ingin mengurangi aset lokal dan caching yang tepat. Satu hal yang dapat Anda lakukan adalah menggunakan plugin CDN. Berikut adalah dua yang saya rekomendasikan:
'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn
NoNumbers CDN Untuk Joomla! - http://www.nonumber.nl/extensions/cdnforjoomla
Juga jika tidak satu pun di atas yang menyelesaikan masalah Anda mungkin memiliki masalah yang lebih dalam - mungkin di dalam template Anda, server itu sendiri, atau hal-hal lain. Jika itu masalahnya, mungkin lebih baik mempekerjakan seseorang untuk memburu masalah dan menyelesaikannya untuk Anda.
sumber
Anda juga dapat menggunakan kode ini dalam file .htaccess Anda:
sumber
Saya telah membuat lebih dari ratusan situs web menggunakan Joomla!
Dalam kebanyakan kasus orang berpikir bahwa Joomla bekerja sangat keras di server, tetapi menurut analisis yang dilakukan oleh saya, hal yang paling penting untuk menjaga situs web Anda CEPAT adalah MENGOPTIMALKAN GAMBAR dan JS / CSS.
Jangan gunakan editor Joomla, seperti JCE, untuk hanya mengubah ukuran gambar. Gunakan editor gambar seperti photoshop atau editor lain untuk mengubah ukuran gambar Anda ke ukuran yang dibutuhkan!
Gunakan alat kompresi JS / CSS.
Kami selalu menggunakan Pingdom Tools untuk menganalisis kecepatan situs web dan kami menggunakan fitur bawaan T3 Framework untuk mengoptimalkan JS / CSS!
sumber
Sudahkah Anda menghapus plugin yang tidak digunakan? Joomla harus memuat dan memproses setiap plugin yang diterbitkan untuk acara yang dipicu dalam permintaan.
Anda harus memahami ekstensi yang telah Anda instal dan bagaimana mereka berinteraksi dengan Joomla!
Banyak ekstensi memasang plugin yang mengelola konten, sistem, atau aktivitas pengguna untuk memulai fungsi kode. Beberapa dari mereka mungkin berlebihan.
Saya tahu bahwa k2 menginstal banyak plugin yang merespons peristiwa terkait bahasa yang tidak menghasilkan output nyata untuk situs bahasa tunggal. Membatalkan publikasi plugin tersebut dapat mengurangi waktu pemrosesan.
sumber
Meningkatkan Sumber Daya Paket Server / Web Hosting
Mungkin bukan jawaban yang dicari OP tetapi layak disebutkan jika tidak jelas bagi semua orang (dan belum ada jawaban lain yang menyebutkan ini): tingkatkan sumber daya server seperti memori, CPU, dan kecepatan disk.
Jika Anda menggunakan hosting web bersama, meningkatkan dari paket "ekonomi" ke paket "bisnis" atau paket lain yang lebih maju dapat meningkatkan sumber daya server yang tersedia untuk situs web Anda dan mengurangi waktu respons server. Pindah ke perusahaan hosting berkualitas lebih baik (mis. Dengan server hosting web bersama yang kurang ramai) juga dapat membantu.
Paket hosting yang lebih baik mungkin juga memberi Anda akses ke peningkatan kinerja yang tidak termasuk dalam paket hosting dasar. Misalnya, paket hosting SiteGround "GrowBig" dan "GoGeek" menyertakan cache dinamis yang membantu mengurangi waktu respons server secara signifikan. Opsi cache dinamis tidak tersedia dalam paket "Startup".
sumber