it-swarm-id.com

Penskalaan a WP Situs eCommerce

Terkait dengan pertanyaan ini .

Setiap rekomendasi tentang alat, plugin untuk mengoptimalkan situs eCommerce besar di WP. Saat ini memukul 1000 item dan 5000 item lainnya datang. Tampaknya optimasi akan berbeda dari blog standar yang melayani ribuan pengguna. Jumlah toko yang sedang dikembangkan di WP meningkat dan menyatukan paket optimisasi akan tampak membantu.

MM/RC

5
RealityCramp

Saya telah mengembangkan situs e-commerce produk 55k menggunakan Wordpress dengan plugin Shopp dan dapat membagikan apa yang telah saya lakukan pada MySQL untuk meningkatkan kinerja yang lebih baik, YMMV dan beberapa (atau semua) ini mungkin tidak berlaku untuk situasi Anda.

Tentukan seberapa banyak Anda perlu meningkatkan buffer/cache dengan melihat output dari perintah "show status" sql - ada alat yang cukup bagus untuk output ini yang mungkin berguna, saya sering hanya menggunakan phpmyadmin untuk mendapatkan ide. http://blog.mysqltuner.com/ juga merupakan sumber daya dan utilitas yang praktis.

Pastikan cache kueri Anda aktif dan itu cukup besar untuk memiliki nomor punes memori yang sangat rendah. Pastikan jumlah tombol yang Anda baca tidak terlalu tinggi (ini menjadi nilai relatif), meningkatkan key_buffer_size dapat membantu dengan itu. Pastikan jumlah tabel sementara yang dibuat rendah, kurangi angka itu dengan meningkatkan tmp_table_size.

Nyalakan log kueri lambat dan catat kueri lambat, jalankan kembali kueri itu secara manual dengan jelaskan pernyataan, tambahkan indeks ubah jenis kolom, dll, sesuai kebutuhan. Untuk satu kueri, kami mendapatkan pernyataan menjelaskan yang gila (seperti membandingkan banyak, lebih banyak baris daripada yang seharusnya), memutakhirkan ke versi MySQL yang lebih baru menyebabkan kueri yang sama lebih optimal (dan lebih cepat) oleh MySQL diri.

Jika Anda menggunakan pengindeksan teks lengkap, saya tidak percaya tabel InnoDB adalah pilihan - jangan memperbarui produk selama masa sibuk Anda. Jika paket ecommerce Anda mendukungnya, Anda dapat meminimalkan gangguan pelanggan (kinerja atau lainnya) dengan membuat perubahan pada server pementasan Anda dan kemudian pindah hanya dari tabel produk dengan dump dari panggung dan memuat ke produksi - ini akan tidak bekerja tanpa beberapa pekerjaan tambahan untuk sisa instalasi Wordpress Anda.

Jika desain situs Anda dan UX dapat mendukungnya memandu pengguna ke mode "penelusuran" vs. mode "pencarian" (mis: mengklik di sekitar situs vs mengetik pencarian ke dalam kotak pencarian) dapat membantu Anda memanfaatkan beberapa basis data yang sangat mudah level dan caching level Wordpress.

Pra-muat cache Anda - cache mudah seperti cache kueri dan cache level-Wordpress juga bisa dimuat sebelumnya dengan spidering situs Anda dengan wget. Anda juga dapat melakukan pra-muat cache untuk pencarian dengan menggunakan perilaku pencarian pengguna (melalui log Anda) dan mendapatkan kembali permintaan itu ketika Anda perlu mengisi cache.

11
bsr

Saya ingin tahu tentang komentar saya sendiri dan telah membaca, di sinilah saya.

Pertama, saya akan mencoba W3 Total Cache . Juga, instal ekstensi APC PHP pada server Anda dan atur W3 Total Cache untuk menggunakannya. Ini akan menggunakan APC untuk men-cache objek Database, PHP, bahkan membantu memperkecil CSS dan JS Anda. Mungkin cukup. Terutama jika Anda sudah memasukkan beberapa cache MySQL. W3 Total Cache juga dapat bekerja dengan Memcache sebagai cadangan caching.

Untuk Basis Data, cache kueri sangat berguna. Saya menemukan tautan ini dan ia menjelaskan bagaimana ia melakukan sesuatu untuk blog MU-nya. Kutipan:

Cache Kueri adalah fitur kecil yang bagus di MySQL, tempat ia menyimpan - dalam dedicated berada di dalam memori utama - setiap hasil dari kueri untuk tabel yang belum berubah baru-baru ini.

Yaitu, dengan asumsi permintaan masuk untuk mengambil baris tertentu dalam tabel - dan tabel itu belum dimodifikasi dengan cara apa pun - dan cache belum terisi yang membutuhkan pembersihan/pembersihan - kueri/data dapat dipenuhi dari ini cache. Manfaat utama di sini tentu saja adalah untuk memenuhi permintaan - database tidak perlu pergi ke disk (yang umumnya merupakan bagian paling lambat dari sistem) dan dapat segera dipenuhi.

Jadi ini sangat keren, dan akan banyak membantu karena produk itu sendiri tidak akan banyak berubah. Hal lain yang disebutkan dalam artikel ini adalah untuk memastikan Anda memiliki banyak memori sehingga menyimpan database di Ram, ini akan membantu mempercepat pertanyaan secara dramatis.

Dia juga berbicara tentang jenis-jenis tabel, dan menggunakan MyISAM di atas InnoDB untuk tabel yang kebanyakan hanya-baca, sementara alasan ini dia sedikit berorientasi pada MU, itu bisa berguna.

Dalam hal mengatur indeks. Jika Anda memiliki banyak dari mereka, mereka dapat memperlambat sisipan, dan mengambil lebih banyak ruang disk. Tetapi karena saya tidak membayangkan sejumlah besar produk ditambahkan secara teratur, saya pikir ini dapat diterima. Dan dengan ruang disk yang murah ...

1
Ryan Gibbons