Bạn có mẹo gì để tăng tốc (hiệu suất) cài đặt MediaWiki?


8

Chúng tôi có một cài đặt MediaWiki và đang nhận được khiếu nại rằng nó đang trở nên chậm hơn. Làm thế nào chúng ta có thể tăng tốc độ / hiệu suất?

Tôi có một mẹo (tôi sẽ thêm vào bên dưới) nhưng tôi thực sự muốn nghe nhiều hơn. Tốt nhất là một mẹo cho mỗi câu trả lời.


1
Đây là một liên kết hữu ích mà tôi đã tìm thấy: dom.as 2007/01/26 / mediawiki
Tái lập Monica - Tạm biệt SE

Hoặc các phương tiện truyền thông toàn diện và gần đây hơnwiki.org/wiki/Manual:Performance_tuning
Nemo

Câu trả lời:


4

Thay vì bộ nhớ đệm đặc biệt là nếu trang web của bạn có kích thước nhỏ đến trung bình, do đó, tổng kích thước của tất cả các trang hmtl không phải là vấn đề - thay vào đó, một giải pháp đơn giản là chỉ cần bật bộ đệm tệp.

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

Tôi đã dành vài giờ hôm nay để cố gắng bật bất kỳ giải pháp lưu trữ bộ nhớ được đề nghị nào của mediawiki trên lưu trữ chia sẻ của tôi (tại bluehost) và không tìm ra cách nào để thực hiện, sau đó phát hiện ra tùy chọn này và nó đã giải quyết tất cả các vấn đề.

Đây là wiki với bộ nhớ đệm tập tin được bật:

http://robertinventor.com/bmwiki

Trước khi lưu bộ đệm vào tệp, phải mất vài giây để tải hầu hết các trang và đôi khi lâu hơn, tối đa vài phút theo nhật ký phân tích của Google.


4

Một số lời khuyên tuyệt vời ở đây . Đối với tôi, điều làm nên sự khác biệt lớn nhất (từ 8 giây đến 0 trên IIS 7) là cho phép bộ đệm và thay đổi $wgDBserver = "127.0.0.1";(từ localhost). Vì một số lý do, localhost đã được giải quyết thông qua mạng.

Đây là toàn bộ bài viết của Jaded:

  1. Một trong những tác động lớn nhất, giảm tải từ 15 giây xuống còn khoảng 6 hoặc 7 là kích hoạt bộ nhớ đệm và tăng tốc Mediawiki, như chi tiết trong bài đăng này: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-cacheing-and-Friendlyshort-urls.aspx . Nói tóm lại, hãy kích hoạt các mục sau trong tệp Mediawiki localsinstall.php của bạn:

    $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();
    

    Đảm bảo tài khoản IUSR và IIS_IUSR cục bộ của bạn có quyền "Sửa đổi" trên thư mục bộ đệm, nếu không các tệp và thư mục từ công cụ bộ nhớ đệm Mediawiki sẽ không thể ghi vào chúng.

  2. Tôi đã thực hiện một số thay đổi nhỏ đối với bộ nhớ đệm trong PHP bằng Wincache, nhưng điều đó hầu như không có bất kỳ ảnh hưởng nào - kích hoạt và định cấu hình nó nếu bạn muốn từ phối cảnh PHP, nhưng không mong đợi một bước nhảy lớn. Điều tương tự cũng xảy ra với bộ nhớ đệm truy vấn MySQL - trang Wiki của tôi tương đối nhỏ, với mức sử dụng tối thiểu, do đó, bộ nhớ đệm truy vấn MySQL không phải là một cải tiến lớn.

  3. Cái đinh cuối cùng trong quan tài để tăng tốc độ trang web là sửa đổi cài đặt $ wgDBserver trong tệp Mediawiki LocalSinstall.php của tôi. Nó được đặt thành "Localhost" và bài đăng này http://forums.iis.net/t/1153459.aspx/3/10 đề xuất rằng sử dụng "Localhost" trên Windows 7 trở đi và Server 2008 trở đi bắt đầu tham gia IPv6 vào truy vấn của trang. Tầng giao vận phải giải quyết localhost và đã làm như vậy bằng cách thương lượng giữa một địa chỉ IPv4 và IPv6, mà PHP và MySQL cần phải giải quyết trước khi cho phép trang hiển thị. Có vẻ như đây vẫn chưa phải là một giao thức tích hợp được hỗ trợ đầy đủ, do đó, việc đặt $ wgDBserver thành địa chỉ IPv4 của "127.0.0.1" đã khiến kết xuất từ ​​6 giây thành chỉ trong 1 giây - đã giải quyết được vấn đề!




0

Điều này có thể không phù hợp với các phiên bản hiện tại của MW, nhưng hãy kiểm tra cài đặt php mbstring.func_overload. Tôi đặt nó thành 2 (như một điều kiện cần thiết cho một cài đặt zabbix nhỏ) và nó đã giết chết hiệu suất của cài đặt 1,12 của MW trên cùng một máy chủ.


cám ơn! Sẽ kiểm tra xem.
Phục hồi Monica - Tạm biệt SE

theo: mediawiki.org/wiki/PHP_configuration mbopes.func_overload Tùy chọn này gây ra lỗi và có thể làm hỏng dữ liệu một cách khó lường; MediaWiki sẽ từ chối cài đặt nếu tùy chọn này được bật. Vì vậy, tôi đoán điều này là không áp dụng.
Phục hồi Monica - Tạm biệt SE

0

Sử dụng công cụ mã hóa opcode php, đảm bảo dB không phải là nút cổ chai, hãy xem xét sử dụng một công cụ http như vecni.


bạn có thể cho tôi biết thêm một chút chi tiết ở đây? Ví dụ: các liên kết, làm thế nào để biết liệu DB có phải là nút cổ chai hay không, http là gì? Tôi không am hiểu về các chi tiết phía sau.
Phục hồi Monica - Tạm biệt SE

Google cho mysqltuner.pl hoặc sử dụng mysql-tuner.sh từ day32.com/MyQuery , họ sẽ cho bạn biết nếu bạn cần tăng cường bộ đệm, nếu các truy vấn đang chạy chậm, varnish là dịch vụ loại proxy ngược có thể lưu trữ bộ đệm các trang web động, đường cong học tập hơi dốc nhưng đó là một dịch vụ cao cấp vì vậy nó thực sự đáng để kiểm tra. Thứ tự của cách bạn nên điều tra là (một phần từ thông lượng mạng rõ ràng) có thể là 1) opcode cacher 2) xác định cách db đang thực hiện / thực hiện và 3) véc ni.
3molo

Mediawiki thậm chí có một bài viết về bộ nhớ đệm với véc ni! mediawiki.org/wiki/Manual:Varnish_caching
3molo

Quên đề cập rằng mediawiki cũng đề xuất sử dụng memcached để lưu vào bộ đệm giữa cơ sở dữ liệu và trang web thực tế, xem mediawiki.org/wiki/Memcached
3molo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.