cara menentukan persyaratan hosting

23

Kami sedang bersiap untuk meluncurkan 2 situs e-commerce menggunakan CE ver 1.9. Setiap situs akan dimulai dengan sekitar 10.000 sku.

Apa hal utama yang perlu kita cari dari host web ... apakah hal-hal seperti ukuran basis data, jumlah gambar, dll. Penting?

Jelas, kecepatan memuat halaman juga sangat penting.

Bagaimana cara terbaik memilih host yang tepat?

Terima kasih

walter kaatz
sumber
Air selamat datang di MageOverflow. Sayangnya hosting Magento adalah hal yang kompleks dan ada banyak perusahaan di luar sana yang mengundang Anda untuk berdiskusi dengan mereka tentang kebutuhan Anda. Tidak ada cara untuk merekomendasikan Anda apa pun tanpa banyak informasi. Dan dengan semua informasi, pertanyaannya terlalu spesifik untuk membantu.
Fabian Blechschmidt
@ FabianBlechschmidt - Saya tidak berpikir itu adalah pertanyaan rangkap dari yang disebutkan. Dan itu pertanyaan yang cukup masuk akal. Saya telah menulis jawaban yang cukup menyeluruh tentang persyaratan ukuran (saya akan mengelompokkannya dengan lebih detail juga) dan cukup umum untuk ini berfungsi sebagai pertanyaan referensi yang sangat bagus untuk ukuran arsitektur.
Ben Lessani - Sonassi
Anda adalah ahli, jadi saya memilih untuk membuka kembali :-)
Fabian Blechschmidt

Jawaban:

31

Penafian: Sonassi adalah tuan rumah Magento


TL; DR - Tuan rumah yang baik akan memberi tahu Anda apa yang Anda butuhkan (dan membenarkannya). Anda seharusnya tidak melakukan ini sendiri.

Ketika seorang pelanggan mendekati kami, kami mengajukan beberapa pertanyaan untuk memahami apa persyaratan saat ini, persyaratan puncak dan persyaratan di masa depan untuk toko mereka. Maka kami akan memberikan rekomendasi atas dasar itu.

Mengingat kami menjadi tuan rumah bagi ribuan toko Magento, kami memiliki pemahaman yang cukup solid tentang infrastruktur apa yang dibutuhkan untuk serangkaian persyaratan pelanggan, sehingga cukup mudah bagi kami untuk memberikan rekomendasi (dan prediksi sumber daya apa yang akan digunakan) ketika mereka benar-benar ditayangkan.

Detail yang perlu diperhatikan di sini adalah bahwa sementara kami pasti dapat memberi tahu Anda persyaratan untuk infrastruktur kami sendiri yang menjalankan MageStack - yang hampir pasti tidak akan sama dengan pengaturan di tempat lain - jadi ingatlah itu.

Biarkan orang lain mengukur kebutuhan Anda

Simpan dan Katalog

  1. Versi Magento?
  2. Jumlah produk sederhana dalam katalog?
  3. Jumlah kategori dalam katalog?
  4. Jumlah atribut dalam katalog?
  5. Jumlah set atribut dalam katalog?
  6. Jumlah tampilan toko Magento (Admin> Sistem> Kelola Toko)?
  7. Transaksi per hari?
  8. Transaksi puncak dalam satu jam?

Lalu Lintas dan Bandwidth

  1. Apa tingkat pengunjung unik harian?
  2. Apa puncak tertinggi dalam satu jam pengunjung unik?
  3. Jumlah tampilan halaman per pengunjung?
  4. Dari negara mana sebagian besar pengunjung berasal?
  5. Apakah Anda mengantisipasi peningkatan lalu lintas situs selama 12 bulan ke depan, jika ya, seberapa banyak?
  6. Apakah Anda mengoperasikan kampanye / buletin lalu lintas tinggi (yang memiliki serapan signifikan) secara teratur?
  7. Apakah situs Anda menawarkan unduhan digital?
  8. Penggunaan bandwidth saat ini?
  9. Apakah Anda memerlukan layanan penyaringan dDOS?

Persyaratan Perangkat Keras

  1. Penggunaan ruang disk saat ini?
  2. Apakah Anda memerlukan penyimpanan log jangka panjang (kepatuhan PCI-DSS)?
  3. Apakah Anda memerlukan penyimpanan cadangan di luar situs?
  4. Apakah Anda perlu menjalankan perangkat lunak spesialis / alternatif di server?
  5. Apakah peraturan kepatuhan PCI Anda menentukan penggunaan firewall perangkat keras?
  6. Apakah Anda memerlukan solusi yang toleran terhadap kesalahan, sangat tersedia atau solusi beban-seimbang?

Praktek Pementasan / Pengembangan

  1. Apakah Anda memerlukan lingkungan khusus yang terpisah untuk pementasan / pengembangan?
  2. Apakah Anda memerlukan lingkungan "Test Live" agar sesuai dengan lingkungan "Live" (untuk pengujian pra-live akhir)?

Anggaran

  1. Apakah Anda memiliki anggaran bulanan?

Kemudian menggunakan informasi ini, kirimkan ke penyedia hosting pilihan Anda dan lihat apa yang mereka rekomendasikan.


Mengukur kebutuhan Anda sendiri

Sebagai patokan, dimungkinkan untuk

  1. Langsung mengkorelasikan tingkat lalu lintas Anda dengan persyaratan CPU Anda
  2. Korelasikan langsung persyaratan CPU Anda dengan persyaratan RAM
  3. Langsung mengkorelasikan penyimpanan MySQL Anda dengan persyaratan RAM

Pemilihan CPU

Pertama mulailah dengan mengukur lalu lintas Anda.

  • Demo store Magento standar mampu menghasilkan sekitar 230 uniques per GHz, per jam.
  • Toko web biasa, dengan aktivitas pengguna admin, aktivitas pengembangan, penambahan / penghapusan produk dapat melihat penurunan ini sekitar 100%, menjadi 115 uniques per GHz, per jam.
  • Toko dengan template yang dibangun / berat kurang dapat mengurangi angka 100-200%, menjadi 50 uniques per GHz, per jam.

Dengan menggunakan angka-angka ini, Anda dapat mengetahui dengan tepat apa yang Anda butuhkan dalam hal sumber daya CPU.

Misalnya. Jika Anda memiliki 4.025 pengunjung unik / hari - Anda memerlukan total sumber daya CPU 28GHz (mis. 8 Cores @ 3.5GHz, atau 12 Cores @ 2.3GHz)

Detail penting lainnya adalah kecepatan CPU, dimungkinkan untuk memiliki:

  • Waktu buka halaman yang lambat dan dukungan konkurensi rendah (CPU kecepatan clock rendah (GHz), beberapa core)
  • Waktu buka halaman yang cepat, tetapi dukungan konkurensi rendah (CPU kecepatan tinggi (GHz), beberapa core)
  • Waktu buka halaman yang lambat, tetapi dukungan konkurensi tinggi (CPU kecepatan rendah (GHz), banyak core)
  • Waktu pemuatan halaman yang cepat dan dukungan konkurensi tinggi (CPU kecepatan tinggi (GHz), banyak core)

Pemilihan RAM

Untuk server mandiri (konfigurasi terbaik untuk Magento), aturan di sini adalah 2GB RAM / CPU Core. Jadi jika Anda memiliki 8 core, maka 16GB RAM harus menjadi minimum.

Untuk mengetahui apa yang Anda butuhkan selain ini, Anda perlu memperhitungkan ukuran katalog Anda. Melakukan ini mudah, gandakan jumlah tampilan toko Anda dengan ukuran katalog total.

Misalnya. Dalam kasus Anda, 1 tampilan toko * 10.000 produk = 10.000

Rekomendasi kami adalah,

<1,000    = 8GB   RAM
<50,000   = 16GB  RAM
<100,000  = 32GB  RAM
<100,000  = 32GB  RAM
<250,000  = 48GB  RAM
<500,000  = 64GB  RAM
<750,000  = 96GB  RAM
>999,999  = 128GB RAM   

Anda ingin mengambil yang lebih tinggi dari dua angka (mis. Dari CPU Core: rasio RAM dan persyaratan katalog), atau campuran yang masuk akal dari keduanya.

Pemilihan HDD

Mari kita perjelas, untuk rata-rata toko Magento (mis. <50rb pengunjung unik / hari), Magento tidak terikat oleh I / O - SSD tidak akan membuat toko Magento Anda lebih cepat; itu tidak akan meningkatkan konkurensi dan tidak akan meningkatkan TTFB. Demikian pula, menggunakan level RAID bergaris (mis. RAID10) juga tidak akan memberikan keuntungan (karena hampir setiap file pada disk akan lebih kecil dari ukuran stripe, jadi hanya disk tunggal yang akan digunakan).

Satu-satunya penyimpanan waktu adalah bottleneck pada layanan yang diperangi (mis. Cloud / VPS).

Namun, tentu saja ada keuntungan untuk mempercepat I / O di luar operasi toko itu sendiri. Dengan SSD, operasi file (mis. Status Git / SVN, backup / restore, menyalin direktori, dll.) Secara substansial lebih cepat. Kehidupan pengembang Anda akan jauh lebih mudah (dengan tugas-tugas rutin menjadi lebih cepat).

Perhatikan juga bahwa tidak semua disk drive dibuat sama.

  • SSD murah / desktop-grade akan melakukan lebih lambat daripada HDD konvensional
  • HDD murah / desktop-grade akan melakukan lebih lambat dari HDD perusahaan
  • HDD murah / desktop-grade akan memiliki tingkat NRE yang buruk (biasanya 10 ^ 14) dibandingkan dengan disk perusahaan (biasanya 10 ^ 16)

Jadi pastikan untuk benar-benar memilih disk drive yang layak berada di server, yaitu. Intel DC S3700.

Memilih kapasitas itu mudah, Anda hanya perlu dua perintah,

Untuk root dokumen Magento

cd /path/to/magento/installation 
du -hsL . \
--exclude="/var/log" \
--exclude="/var/session" \
--exclude="/var/cache" \
--exclude="/var/full_page_cache" \
--exclude="/var/report" \
--exclude="/var/tmp" \
--exclude="/includes/src/"    

Untuk DB MySQL

SELECT 
IFNULL(B.engine,'Total') "Storage Engine", CONCAT(LPAD(REPLACE(FORMAT(B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Data Size", CONCAT(LPAD(REPLACE(FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Index Size", CONCAT(LPAD(REPLACE(FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM (SELECT engine,SUM(data_length) DSize,SUM(index_length) ISize,SUM(data_length+index_length) TSize 
FROM information_schema.tables 
  WHERE table_schema NOT IN ('mysql','information_schema','performance_schema') 
  AND engine IS NOT NULL 
GROUP BY engine 
WITH ROLLUP) B,(SELECT 3 pw) A 
ORDER BY TSize;

.

Siapa yang harus memilih

Ya terserah Anda. Saya tidak bisa memberikan rekomendasi [walaupun akan jelas :)] - tetapi Anda tentu dapat membentuk opini Anda sendiri,

  1. Jika mereka memiliki perangkat keras yang sesuai dengan persyaratan minimum Anda
  2. Jika mereka memiliki warisan / reputasi yang kuat di Magento (mis. Berpartisipasi di situs-situs seperti ini, dan menunjukkan pengalaman dunia nyata)
  3. Jika mereka dapat memberikan demonstrasi toko Anda, di hosting mereka (mis. Sehingga Anda dapat melihat dengan tepat bagaimana kinerjanya)
  4. Jika mereka dapat menjawab setiap dan semua pertanyaan terkait Magento Anda (mis. Cobalah mengujinya dengan pertanyaan yang Anda miliki di masa lalu dan lihat bagaimana mereka menjawabnya)
  5. Jika harganya sesuai dengan anggaran Anda
  6. Pastikan dukungan mereka sesuai dengan harapan Anda (mis. Apakah Anda bersedia melakukan sendiri uji tuntas sendiri sebelum menghubungi dukungan, atau apakah Anda memiliki harapan mereka dapat men-debug masalah Magento Anda atas nama Anda)
  7. Pastikan lingkup pekerjaan yang disertakan sesuai dengan kebutuhan Anda (mis. Dikelola sepenuhnya, bare metal dll.)
  8. Jika solusinya scalable (mis. Apakah itu platform server tunggal - bisakah skala itu menjadi solusi multi-server).
  9. Jika solusinya menampilkan semua perangkat lunak yang Anda butuhkan untuk toko Magento Anda (Misalnya. ElasticSearch / Sphinx / SOLR, Redis / Memcache, Varnish dll.)

Ada sesuatu untuk ditambahkan di sini, Anda akan mendapatkan dua jenis host

  • Dikelola (mis. Di mana server benar-benar diatur dan diurus)
  • Tidak dikelola (mis. Tempat Anda mengatur seluruh server sendiri)

Yang mana yang paling tepat untuk Anda benar-benar tergantung pada apa keahlian Anda. Menurut pendapat jujur ​​saya, pengembang bukan administrator sistem - hanya karena Anda dapat menjalankan apt-get install nginx- itu tidak membuat Anda sysadmin yang berpengalaman. Kalau tidak, setiap pemilik toko yang dapat menggunakan Magento Connect dapat mengklasifikasikan diri mereka sebagai pengembang!

Memahami peran Anda (dan keterbatasan) sebagai pengembang dan membiarkan seseorang dengan pengalaman yang tepat dalam mengelola server memiliki nilai ekstrem. Siapa pun dapat menginstal serangkaian paket, tetapi mengatur konfigurasi perangkat lunak, memastikannya stabil, bebas bug, aman, dan berkinerja tinggi adalah hal yang sama sekali berbeda.

Saya akan hanya pernah merekomendasikan rute seluruh DIY kepada orang-orang yang memiliki besar jumlah Magento Server pengalaman konfigurasi, yang telah mengerahkan ribuan server sebelumnya, dengan konfigurasi yang dikenal diuji dan stabil. Jika tidak, pergilah dengan host Magento terkelola yang tahu apa yang mereka lakukan dan memungkinkan Anda untuk melakukan pekerjaan Anda tanpa gangguan.


Sumber:

Ben Lessani - Sonassi
sumber