[ English | English (United Kingdom) | 中文 (简体, 中国) | Indonesia | русский | français | नेपाली | Deutsch | Esperanto | português (Brasil) | español | 한국어 (대한민국) ]
Siapkan penyimpanan sesi untuk Dasbor¶
Dasbor menggunakan Django sessions framework untuk menangani data sesi pengguna. Namun, Anda dapat menggunakan akhir sesi sesi yang tersedia. Anda mengkustomisasi sesi back end melalui pengaturan SESSION_ENGINE
dalam file anda local_settings.py
.
Setelah merancang dan mengimplementasikan layanan OpenStack inti dan layanan lain yang diperlukan, dikombinasikan dengan langkah-langkah layanan Dasbor di bawah ini, pengguna dan administrator dapat menggunakan dasbor OpenStack. Mengacu pada bab OpenStack User Documentation Panduan OpenStack End User Guide untuk instruksi lebih lanjut tentang masuk ke Dasbor.
Bagian berikut mendeskripsikan pro dan kontra dari setiap opsi yang berkaitan dengan penerapan Dasbor.
Memori cache lokal¶
Penyimpanan memori lokal adalah akhir sesi tercepat dan termudah untuk diatur, karena tidak memiliki ketergantungan eksternal sama sekali. Ini memiliki kelemahan signifikan berikut:
Tidak ada penyimpanan bersama di seluruh proses atau pekerja.
Tidak ada persisten setelah suatu proses berakhir.
Back end memori lokal diaktifkan sebagai default untuk Horizon semata-mata karena tidak memiliki dependensi. Ini tidak direkomendasikan untuk penggunaan produksi, atau bahkan untuk pekerjaan pengembangan yang serius.
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default' : {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
}
}
Anda dapat menggunakan aplikasi seperti `` Memcached`` atau `` Redis`` untuk caching eksternal. Aplikasi ini menawarkan persisten dan penyimpanan bersama dan berguna untuk penyebaran dan pengembangan skala kecil.
Memcached¶
Memcached adalah sistem cache objek memori kinerja tinggi dan terdistribusi yang menyediakan penyimpanan nilai kunci (key-value store) di memori untuk potongan kecil data arbitrer.
Persyaratan:
Layanan memcaching berjalan dan dapat diakses.
Modul Python
python-memcached
diinstal.
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'my_memcached_host:11211',
}
}
Redis¶
Redis adalah open source, BSD berlisensi, advanced key-value store. Ini sering disebut sebagai server struktur data.
Persyaratan:
Layanan Redis berjalan dan dapat diakses.
Modul Python
redis
danDjango-redis
diinstal.
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
"default": {
"BACKEND": "redis_cache.cache.RedisCache",
"LOCATION": "127.0.0.1:6379:1",
"OPTIONS": {
"CLIENT_CLASS": "redis_cache.client.DefaultClient",
}
}
}
Menginisialisasi dan mengonfigurasi database¶
Sesi Database-backed bersifat skalabel, persisten, dan dapat dibuat konkurensi tinggi dan sangat tersedia.
Namun, sesi database-backed adalah salah satu penyimpanan sesi yang lebih lambat dan menimbulkan biaya overhead yang tinggi di bawah penggunaan berat. Konfigurasi yang tepat dari penyebaran basis data Anda juga dapat menjadi pekerjaan substansial dan jauh di luar lingkup dokumentasi ini.
Mulai klien baris perintah (command-line) MySQL.
# mysql
Masukkan kata sandi pengguna root MySQL ketika diminta.
Untuk mengkonfigurasi database MySQL, buat database dasbor.
mysql> CREATE DATABASE dash;
Buat pengguna MySQL untuk database dasbor yang baru dibuat yang memiliki kontrol penuh terhadap database. Ganti DASH_DBPASS dengan kata sandi untuk pengguna baru.
mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'%' IDENTIFIED BY 'DASH_DBPASS'; mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'localhost' IDENTIFIED BY 'DASH_DBPASS';
Masukkan
quit`
pada prompt ``mysql> `` untuk keluar dari MySQL.Di file
local_settings.py
, ubah opsi ini:SESSION_ENGINE = 'django.contrib.sessions.backends.db' DATABASES = { 'default': { # Database configuration here 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dash', 'USER': 'dash', 'PASSWORD': 'DASH_DBPASS', 'HOST': 'localhost', 'default-character-set': 'utf8' } }
Setelah mengkonfigurasi file `` local_settings.py`` seperti yang ditunjukkan, Anda dapat menjalankan perintah manage.py migrate untuk mengisi database yang baru dibuat ini.
# /usr/share/openstack-dashboard/manage.py migrate
Untuk menghindari peringatan ketika Anda me-restart Apache di Ubuntu, buatlah direktori
blackhole
di direktori Dashboard, seperti berikut.# mkdir -p /var/lib/dash/.blackhole
Restart layanan Apache.
Pada Ubuntu, restart layanan
nova-api
untuk memastikan bahwa server API dapat terhubung ke Dashboard tanpa kesalahan.# service nova-api restart
Database cache¶
Untuk memitigasi masalah kinerja query database, Anda dapat menggunakan sesi back-end Django cached_db
, yang memanfaatkan database dan infrastruktur cache untuk melakukan cache write-through dan pengambilan yang efisien.
Aktifkan pengaturan hibrida ini dengan mengonfigurasi database dan cache Anda, seperti yang dibahas sebelumnya. Kemudian, tetapkan nilai berikut:
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"