Kiat apa yang Anda miliki untuk mempercepat (kinerja) instalasi MediaWiki?


8

Kami memiliki instalasi MediaWiki dan mendapatkan keluhan bahwa itu menjadi lebih lambat. Bagaimana kita dapat meningkatkan kecepatan / kinerja?

Saya punya satu tip (yang akan saya tambahkan di bawah) tetapi saya benar-benar tertarik mendengar lebih banyak. Lebih disukai satu tip per jawaban.


1
Inilah tautan bermanfaat yang saya temukan: dom.as/2007/01/26/mediawiki-performance-tuning
Monica - Goodbye SE

Jawaban:


4

Alih-alih cache memori terutama jika situs Anda berukuran kecil hingga sedang, jadi ukuran total semua halaman hmtl bukan merupakan masalah - solusi sederhana adalah dengan hanya mengaktifkan cache file saja.

http://www.mediawiki.org/wiki/Manual:File_cache

Saya menghabiskan beberapa jam hari ini untuk mencoba salah satu mediawiki merekomendasikan solusi caching memori pada hosting bersama saya (di bluehost) dan tidak menemukan cara untuk melakukannya, dan kemudian menemukan opsi ini dan itu menyelesaikan semua masalah.

Ini adalah wiki dengan cache file diaktifkan:

http://robertinventor.com/bmwiki

Sebelum melakukan caching file, diperlukan beberapa detik untuk memuat sebagian besar halaman, dan terkadang jauh lebih lama, hingga menit menurut log analitik Google.


4

Beberapa tips hebat di sini . Bagi saya hal yang membuat perbedaan terbesar (dari 8 detik menjadi 0 pada IIS 7) adalah memungkinkan caching dan perubahan $wgDBserver = "127.0.0.1";(dari localhost). Untuk beberapa alasan localhost sedang diselesaikan melalui jaringan.

Berikut ini adalah keseluruhan pos oleh Jaded:

  1. Salah satu dampak terbesar, mengurangi beban dari 15 detik menjadi sekitar 6 atau 7 adalah memungkinkan caching dan percepatan Mediawiki, sebagaimana dirinci dalam posting ini: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-caching-dan-friendlyshort-urls.aspx . Singkatnya, aktifkan yang berikut ini di file Mediawiki localsettings.php Anda:

    $wgCacheDirectory = "c:\your\path\to\cache";
    $wgFileCacheDirectory = "c:\your\path\to\cache ";
    $wgEnableSidebarCache = true;
    $wgUseFileCache = true;
    $wgShowIPinHeader = false;
    $wgEnableParserCache = true;
    $wgCachePages = true;
    
    $wgMainCacheType = CACHE_ACCEL;
    $wgMessageCacheType = CACHE_ACCEL;
    $wgParserCacheType = CACHE_ACCEL;
    $wgMemCachedServers = array();
    

    Pastikan akun IUSR dan IIS_IUSR lokal Anda memiliki izin "Modifikasi" pada direktori cache, atau file dan direktori dari mesin caching Mediawiki tidak akan dapat menulis kepada mereka.

  2. Saya membuat beberapa perubahan kecil untuk caching di PHP menggunakan Wincache, tapi itu hampir tidak memiliki pengaruh - aktifkan dan konfigurasikan jika Anda ingin dari perspektif PHP, tetapi jangan berharap lompatan besar. Hal yang sama berlaku untuk caching permintaan MySQL - situs Wiki saya relatif kecil, dengan penggunaan minimum, jadi caching permintaan MySQL bukan perbaikan besar.

  3. Paku terakhir di peti mati untuk mempercepat situs adalah memodifikasi pengaturan $ wgDBserver di file Mediawiki LocalSettings.php saya. Itu diatur ke "Localhost", dan posting ini http://forums.iis.net/t/1153459.aspx/3/10 menyarankan bahwa menggunakan "Localhost" pada Windows 7 dan seterusnya, dan Server 2008 dan seterusnya mulai melibatkan IPv6 yang terlibat dalam permintaan halaman. Lapisan transport harus menyelesaikan localhost dan melakukannya dengan menegosiasikan antara IPv4 dan alamat IPv6, yang perlu diselesaikan oleh PHP dan MySQL sebelum mengizinkan halaman untuk di-render. Tampaknya ini masih bukan protokol terintegrasi yang sepenuhnya didukung, jadi pengaturan $ wgDBserver ke alamat IPv4 "127.0.0.1" mengambil rendering dari 6 detik menjadi hanya 1 detik - masalah terpecahkan!




0

Ini mungkin tidak relevan dengan versi MW saat ini, tetapi periksa pengaturan php mbstring.func_overload. Saya mengaturnya menjadi 2 (sebagai persyaratan untuk instalasi zabbix kecil) dan mematikan kinerja instalasi 1,12 MW di server yang sama.


Terima kasih! Akan memeriksanya.
Pasang kembali Monica - Selamat tinggal

menurut: mediawiki.org/wiki/PHP_configuration mbstring.func_overload Opsi ini menyebabkan kesalahan dan dapat merusak data secara tak terduga; MediaWiki akan menolak untuk menginstal jika opsi ini diaktifkan. Jadi saya kira ini tidak berlaku.
Reinstate Monica - Selamat tinggal SE

0

Gunakan php opcode cacher, pastikan dB bukan hambatannya, pertimbangkan untuk menggunakan http cacher seperti pernis.


Bisakah Anda memberi saya sedikit lebih detail di sini? Misalnya tautan, bagaimana cara mengetahui apakah DB adalah hambatan, apa itu http cacher? Saya tidak tahu banyak tentang detail ujung belakang.
Reinstate Monica - Selamat tinggal SE

Google untuk mysqltuner.pl, atau gunakan mysql-tuner.sh mulai hari32.com/MySQL , mereka akan memberi tahu Anda jika Anda perlu menambah penyangga, jika kueri berjalan lambat dll. Varnish adalah layanan jenis proxy terbalik yang dapat men-cache halaman web yang dinamis, kurva belajarnya agak curam tapi ini layanan kelas atas sehingga sangat layak untuk dilihat. Urutan bagaimana Anda harus menyelidiki adalah (bagian dari throughput jaringan seperti jelas) mungkin 1) opcode cacher 2) menentukan bagaimana db melakukan / melakukan dan 3) pernis.
bulan

Mediawiki bahkan memiliki artikel tentang caching dengan pernis! mediawiki.org/wiki/Manual:Varnish_caching
3molo

Lupa menyebutkan bahwa mediawiki juga menyarankan menggunakan memcached untuk caching antara database dan situs yang sebenarnya, lihat mediawiki.org/wiki/Memcached
3molo

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.