Saya memiliki situasi berikut:
Sekitar 5 kali seminggu (tidak terkait dengan situasi tertentu seperti cache kosong, lonjakan lalu lintas) beberapa permintaan macet saat mengirim data ( show processlist
):
> SELECT `main_table`.`entity_id`, `main_table`.`level`, `main_table`.`path`, `main_table`.`position`,
> `main_table`.`is_active`, `main_table`.`is_anchor`,
> `main_table`.`name`, `url_rewrite`.`request_path` FROM
> `catalog_category_flat_store_30` AS `main_table`
> LEFT JOIN `core_url_rewrite` AS `url_rewrite` ON url_rewrite.category_id=main_table.entity_id AND
> url_rewrite.is_system=1 AND url_rewrite.product_id IS NULL AND
> url_rewrite.store_id='30' AND url_rewrite.id_path LIKE 'category/%'
> WHERE (path LIKE '1/2/%') AND (main_table.store_id = '30') AND
> (is_active = '1') AND (include_in_menu = '1') ORDER BY name ASC
kedua:
> SELECT `main_table`.`entity_id`, main_table.`name`, main_table.`path`,
> `main_table`.`is_active`, `main_table`.`is_anchor`,
> `main_table`.`manually`, `url_rewrite`.`request_path` FROM
> `catalog_category_flat_store_10` AS `main_table` LEFT JOIN
> `core_url_rewrite` AS `url_rewrite` ON
> url_rewrite.category_id=main_table.entity_id AND
> url_rewrite.is_system=1 AND url_rewrite.product_id IS NULL AND
> url_rewrite.store_id='10' AND url_rewrite.id_path LIKE 'category/%'
> WHERE (main_table.is_active = '1') AND (main_table.include_in_menu =
> '1') AND (main_table.path like '1/2/1528/1569/%') AND (`level` <= 4)
> ORDER BY `main_table`.`position` ASC
Pertanyaan ini terkait dengan menghasilkan menu navigasi. Mereka berjalan tanpa masalah dan sangat cepat sepanjang waktu.
Beberapa kali dalam sebulan beberapa pertanyaan lain macet pada data seding atau menunggu kunci tabel:
INSERT INTO `catalogsearch_result` SELECT 316598 AS `query_id`, `s`.`product_id`, MATCH (s.data_index) AGAINST ('STRING HERE' IN BOOLEAN MODE) AS `relevance` FROM `catalogsearch_fulltext` AS `s`
INNER JOIN `catalog_product_entity` AS `e` ON e.entity_id = s.product_id WHERE (s.store_id = 38) AND (MATCH (s.data_index) AGAINST ('STRING HERE' IN BOOLEAN MODE)) ON DUPLICATE KEY UPDATE `relevance` = VALUES(`relevance`)
(terkait pencarian)
Informasi tambahan:
- core_url_rewrite - Catatan 3M (30 situs web, 100k produk)
- catalog_category_flat_store_ * - 2000 catatan (penggunaan kategori datar diaktifkan)
Ini berjalan pada pengaturan menggunakan vmware pada beberapa perangkat keras besar (master mysql memiliki 8 core dialokasikan dan 64GB RAM, disk SSD pada penyimpanan SAN), mysql dioptimalkan dan dimonitor secara terus menerus. Ada beberapa masalah di masa lalu terkait dengan I / O (beberapa mengeluarkan dengan tautan antara server dan penyimpanan SAN).
Kami tidak dapat menemukan masalah karena menjalankan dengan menggunakan bare metal (tanpa virtualisasi, konfigurasi yang sama) ini tidak pernah terjadi, dalam kondisi tekanan tinggi (menjalankan skenario pengepungan + pengujian beban, tanpa cache).
Adakah yang mengalami masalah serupa?
MEMPERBARUI:
reindexSemua pencarian dipindahkan ke tabel sementara (sehingga tidak mengunci tabel utama yang digunakan oleh produksi, lalu mengganti nama tabel tmp). Jadi, proses pengindeksan ulang tidak mengganggu pengunjung yang mencari situs web. https://github.com/magendooro/magento-fulltext-reindex kudos to carco