Best komen modul drupal hosting
Dalam post saya sebelum ini. Saya menulis tentang bagaimana multisite adalah satu mekanisme yang kuat untuk pengurusan kod. Dalam post ini, saya akan bercakap tentang bagaimana untuk menguruskan pelbagai laman web di peringkat infrastruktur, dan pertimbangan anda perlu mengambil apabila membuat keputusan ke atas seni bina laman web anda.
Yang kesalahan dan salah faham
Adalah penting untuk ingat bahawa berbilang tapak adalah satu cara menguruskan kod, bukan untuk menggerakkan ia - semua berskala amalan terbaik bahawa tahun Drupal hosting telah mengajar kita terpakai sebanyak kepada pelbagai laman web seperti yang berlaku kepada pelbagai docroot. Anda boleh mempunyai satu pangkalan kod berbilang tapak menggerakkan untuk apa-apa bilangan kelompok pelayan yang berbeza. Hanya kerana kod anda disimpan di dalam pangkalan kod tunggal tidak mengunci anda ke dalam pelayan, kelompok, atau konfigurasi tunggal.
Berbilang tapak tidak perlu bermakna Single Point Of Kegagalan
Semua tapak dalam berbilang tapak berkongsi asas Drupal kod teras yang sama, sekurang-kurangnya. Tetapi seperti yang telah saya katakan, ini tidak bermakna bahawa anda dikunci ke dalam mana-mana model hosting tertentu. Pertimbangan utama adalah bagaimana anda menguruskan kemas kini; hosting pemasangan berbilang tapak tidak begitu berbeza untuk hosting mana-mana laman Drupal lain.
prestasi
Berbilang tapak adalah penggunaan yang sangat berkesan sumber pelayan ini.
PHP adalah bahasa ditafsirkan. Ini bermakna bahawa tidak ada langkah penyusunan apabila menggerakkan kod - anda hanya menggunakan fail teks kod sumber anda. Apabila PHP melaksanakan, ia perlu menyusun kod sumber ini kepada apa yang dipanggil Opcode. Tanpa cache Opcode, kompilasi ini perlu berlaku pada setiap permintaan PHP tunggal. Cache Opcode menyimpan opcodes dalam ingatan, menghapuskan langkah penyusunan sepenuhnya, banyak mempercepatkan pelaksanaan. APC, add-on, adalah cache Opcode yang paling biasa digunakan hari ini tetapi PHP 5.5 memperkenalkan cache Opcode, opcache, ke dalam batang PHP.
Dengan pelbagai laman web, banyak laman web yang berkongsi Drupal dan modul kod yang sama. Lanjutan daripada itu, ini bermakna bahawa banyak laman web yang boleh berkongsi cache Opcode tunggal. Ini menjimatkan memori, dan membebaskan memori untuk kegunaan lain. Bagi kebanyakan kes-kes penggunaan, memori adalah sumber yang paling menegaskan, jadi apa-apa yang membebaskan memori adalah sangat dialu-alukan.
Jika anda menjalankan 50 tempat dari kelompok tunggal, dan salah seorang daripada mereka mendapat permintaan yang mendadak lalu lintas yang besar - maksudnya 49 yang lain mungkin kebuluran sumber? Pasti. Tetapi di sisi lain, anda ingin laman-laman tempahan kapasiti pelayan yang tidak diperlukan? Tidak akan anda lebih menggunakan kapasiti lapang untuk mendapatkan anda melalui kenaikan?
Jika laman web yang mendapat sebahagian besar lalu lintas terus menggunakan lebih daripada bahagian yang wajar, anda boleh berputar ke kelompok lain - atau hanya meningkatkan saiz yang sedia ada anda. Sumber-sumber yang akan dikongsi, jadi 49 laman web yang tenang hanya akan berenang ke dalam kolam sumber seperti yang diperlukan.
Berurusan dengan pancang trafik adalah satu cabaran tanpa mengira kod anda atau infrastruktur pelayan. Aspek yang paling penting dalam pengurusan prestasi dalam apa-apa permohonan adalah kualiti kod - pemandangan yang lazim hilang sebagai generasi profesional IT mengambil kesempatan daripada kuasa yang hebat dan fleksibiliti kami kini mempunyai dengan perkakasan moden dan persekitaran Cloud. Ada memerlukan pertimbangan yang hendak dicapai antara pelaburan dalam jam pembangunan dan kos membuang perkakasan tambahan di laman web di bawah beban. Acquia menyediakan banyak alat dan perkhidmatan ini untuk memastikan bahawa kod pelanggan dan konfigurasi mengikut amalan terbaik, sama ada melalui alat SaaS layan diri seperti Acquia Insight, atau melalui Perkhidmatan super-pintar kami Profesional atau Sokongan Pasukan.
Sudah tentu, jika berskala perkakasan adalah kursus yang terbaik tindakan, kita dapat meningkatkan Acquia Cloud dihoskan laman pada bila-bila, maka skala mereka kembali ke bawah jika atau apabila sumber-sumber tambahan yang tidak diperlukan lagi.
Pangkalan Data Server Load
Kerana banyak laman web yang berpotensi mungkin berkongsi pelayan pangkalan data tunggal, masing-masing boleh mula memberi kesan orang lain jika mereka berada di bawah beban berat atau telah kurang dioptimumkan pertanyaan.
Pada Acquia, kami mempunyai pelanggan yang menggunakan skor laman web di pemasangan berbilang tapak dan berkongsi pelayan pangkalan data tunggal. Terdapat banyak ruang untuk pengoptimuman dalam seni bina Drupal anda dan kod yang boleh mengatasi isu ini berpotensi.
Kebanyakan pemasangan berbilang tapak tidak menghalang anda daripada menjalankan pelayan pangkalan data berganda. Menentukan pelayan pangkalan data perubahan konfigurasi mudah di settings.php.
Walaupun terdapat banyak nilai dalam mempunyai kod dikongsi merentasi banyak laman web, ia tidak bermakna dalam beberapa kes, anda perlu berhati-hati mengenai mengurus kemas kini. Apabila anda mengemas kini Drupal teras, anda mengemas kini semua laman anda, yang boleh menjadi pedang bermata dua.
Ia adalah amalan yang benar-benar terbaik untuk menjalankan pelepasan titik terbaru Drupal dan menyumbang modul - terdapat kebimbangan keselamatan yang serius dengan tidak berbuat demikian. Anda tidak mahu mempunyai laman di hutan yang sudah lapuk. Berjalan berbilang tapak hanya bermakna anda perlu untuk menguji SEMUA laman anda di depan, dan bukannya melakukan mereka sedikit demi sedikit.
Ini menggalakkan anda untuk mengikuti amalan terbaik Drupal - jika kod anda adalah dalam keadaan yang baik, anda boleh menaik taraf 50 tempat dalam masa yang jika tidak akan mengambil masa untuk melakukan satu. Anda tidak mahu hacks per-tapak.
Sering Drupal atau modul kemas kini memerlukan berjalan update.php atau Drush updb untuk membuat skema atau konfigurasi perubahan. Ini bermakna bahawa anda perlu untuk menjalankan kemas kini ini di semua pangkalan data laman web anda dengan seberapa segera yang mungkin selepas anda menggunakan kod anda.
Ini mungkin boleh membawa kepada kehilangan integriti data atau peningkatan beban pelayan semasa proses kemas kini. Dalam amalan, kemas kini paling db saya telah menjalankan untuk tapak pengeluaran telah sangat ringan dan tidak ada sebarang isu dengan proses ini. Jika anda meletakkan setiap laman web dalam mod penyelenggaraan (seperti yang disyorkan) sebelum anda menjalankan kemas kini, ini adalah bukan satu isu.
Dalam pekerjaan sebelumnya, saya mempunyai fail teks dengan semua domain saya di dalamnya, satu setiap baris. Saya kemudian berlari skrip shell sangat mudah untuk menjalankan updb Drush bagi setiap laman web, dengan menunggu seketika antara setiap update. Ia akan menjadi lebih hanya sedikit usaha untuk meletakkan setiap laman web dalam mod penyelenggaraan sebelum menjalankan kemas kini, atau untuk bertelur beberapa proses yang berlari kemas kini secara selari.
Seperti biasa pastikan anda menguji dalam pementasan pertama. Sebaik sahaja proses anda di tempat, anda boleh mengemas kini 50 laman web dengan hanya beberapa arahan.
Berjalan Cron untuk banyak laman web yang berkongsi pangkalan data atau web pelayan tunggal boleh meletakkan beban yang besar pada pelayan, terutamanya jika pekerjaan cron dijalankan pada masa yang sama. Ini adalah benar sama ada anda menggunakan berbilang tapak atau docroots berasingan, tetapi sesuatu yang kita lihat meletakkan banyak beban pada pelayan dari semasa ke semasa.
Ia adalah yang terbaik untuk menyebarkan keluar berjalan cron, berlari satu untuk setiap laman web yang jaraknya sejauh mungkin untuk mengelakkan beban serentak.
Scaling adalah sukar, tetapi kita boleh membantu
Setiap kali saya bercakap kepada orang ramai mengenai Drupal atau pembangunan web secara umum, sama ada dalam kapasiti saya di Acquia atau dalam komuniti Drupal, saya cuba untuk menegaskan bahawa barangan ini adalah kompleks. Tetapi itu apa yang menarik kepada saya tentang sumber terbuka, dan Drupal khususnya - orang bersedia untuk mengakui bahawa kita menolak sempadan dan bahawa kita semua boleh mendapat manfaat daripada setiap pengalaman orang lain.
Menguruskan banyak laman web adalah satu tugas yang sukar, tetapi perkara yang hebat tentang bekerja di Acquia adalah saya dapat berinteraksi dengan orang yang menjalankan beberapa laman web yang terbesar dan paling kompleks di dunia, setiap hari. Jika anda tertanya-tanya apa penyelesaian terbaik untuk matlamat anda, sila hubungi. Kami sentiasa gembira untuk membantu.