Diberikan
Portal perusahaan di Bitrix24, dirancang untuk beberapa ratus pengguna, dengan ~ 300 GB file dan ~ 80 GB database di server khusus dengan BitrixVM.
Sebelum mengubah pengaturan, indikatornya adalah sebagai berikut:
Uji kinerja standar di panel admin Bitrix
Dari semua parameter, Anda harus memberi perhatian khusus untuk bekerja dengan Konfigurasi MySQL dan PHP. Indikator ini sangat penting bagi kami, karena secara tidak langsung mencerminkan tingkat kinerja proyek.
Permintaan klien
Klien kami tidak hanya ingin memindahkan proyek ke server khusus baru, tetapi juga meningkatkan parameter kinerja. Misalnya, kesulitan termasuk ketidakmampuan untuk membuang database di server sumber, dan lambatnya operasi portal itu sendiri.
Keputusan
Pengaturan MySQL adalah hal pertama yang kami mulai kerjakan.
Mari kita ganti nilai standar BitrixVM dengan:
explicit_defaults_for_timestamp = 1
expire_logs_days = 10
max_binlog_size = 100M
max_allowed_packet = 128M
transaction-isolation = READ-COMMITTED
performance_schema = OFF
sql_mode = ""
# Cache parameters
query_cache_type = 1
query_cache_size=16M
query_cache_limit=4M
key_buffer_size=256M
join_buffer_size=2M
sort_buffer_size=4M
# Parameters for temporary tables
tmpdir = /tmp
tmp_table_size=128M
max_heap_table_size=128M
thread_cache_size = 4
table_open_cache = 2048
# InnoDB parameters
innodb_file_per_table
innodb_buffer_pool_size = 8192M
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_strict_mode = OFF
# Database charset parameters
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
[mysqldump]
quick
quote-names
default-character-set = utf8
Langkah selanjutnya adalah mengubah mode daya CPU, karena Bitrix menyukai frekuensi prosesor yang lebih tinggi.
Bergantung pada jumlah inti di setiap
file perubahan,
/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
penghematan daya pada kinerja .
Selanjutnya, mari kita periksa hasilnya:
Kita melihat bahwa pekerjaan dengan MySQL telah berubah paling banyak: parameter "write" dan "change" telah berkembang hampir 3 kali lipat; indikator "membaca" meningkat 5 kali lipat. Artinya, saat situs mengakses database, jenis operasi ini akan dilakukan beberapa kali lebih cepat. Alhasil, performa situs secara keseluruhan juga akan meningkat.
Karena perubahan dalam mode daya CPU (ini dimungkinkan, karena server khusus digunakan), jumlah operasi pada CPU meningkat.
Sekarang Anda perlu mengedit pengaturan untuk OPcache.
Di dalam file tersebut,
/etc/php.d/10-opcache.ini
ganti nilai aslinya dengan:
zend_extension=opcache.so opcache.enable = 1 opcache.enable_cli = 1 opcache.memory_consumption = 256 opcache.max_file_size = 2M opcache.interned_strings_buffer = 64 opcache.max_accelerated_files = 130987 opcache.fast_shutdown = 1 opcache.revalidate_freq = 1 opcache.fast_shutdown=1 opcache.save_comments=1 opcache.load_comments=1 opcache.use_cwd = 1
Catatan: Tes Bitrix akan memberi tahu Anda bahwa parameter
opcache.revalidate_freq
harus memiliki nilai 0 dan bukan 1, tetapi akan bekerja lebih baik dengan yang kami tentukan.
Parameter itu sendiri
opcache.revalidate_freq
bertanggung jawab untuk memeriksa cache: dengan nilai 0, dijalankan setiap kali skrip diluncurkan, dan dengan nilai 1, dijalankan sekali per detik.
Setelah mengubah pengaturan, kami memeriksa hasilnya:
Dari tabel berikut ini menunjukkan bahwa indikator kerja dengan MySQL telah berkembang lebih sedikit. Pada saat yang sama, operasi CPU dan kinerja Bitrix secara keseluruhan telah meningkat secara signifikan karena perubahan dalam pengaturan PHP dan cache skrip.
Keluaran
Berkat perubahan sederhana dalam pengaturan, kami dapat meningkatkan kinerja proyek sebanyak 3 kali, dan interaksi dengan database - dari 3 menjadi 5 kali (berdasarkan skor keseluruhan tes Bitrix). Klien kami benar-benar puas dengan pekerjaan proyek di server baru. Kita berhasil!
Dalam metode pengoptimalan ini, kami fokus pada poin utama yang berinteraksi dengan Bitrix, serta pada pengujian itu sendiri. Klien sering memperhatikannya.
Cara lain untuk meningkatkan kinerja Bitrix termasuk menginstal dan mengonfigurasi layanan cache (misalnya, Redis). Performa CMS mungkin turun, tetapi performa situs secara keseluruhan seharusnya lebih baik. Selain itu, Anda dapat menggunakan php-fpm, tetapi dalam kasus kami, tidak masuk akal untuk membuat ulang OS yang awalnya dikonfigurasi untuk Bitrix.
Anda juga dapat bermain-main dengan pengaturan MySQL. Mereka bersifat individual untuk setiap proyek dan konfigurasi, jadi tidak ada resep yang sempurna. Akan menarik mengetahui peretasan hidup Anda untuk mengoptimalkan proyek di Bitrix. Bagikan pendapat Anda di komentar.