Redis Cache Yapılandırma işlemi, özellikle kullanıcı sayısı ve proje hacmi arttığında Redmine’in tepki süresini ciddi oranda düşürür. Redmine, arka plan işlerini (e-posta gönderimi, büyük raporların oluşturulması vb.) ve önbellekleme (cache) işlemlerini Redis üzerinden yürüterek ana sunucuyu rahatlatan bir konfigürasyondur.
Bu yapılandırmayı Uygulama Sunucusu (Application Server) üzerinde yapacağız.
1. Redis Kurulumu ve Yapılandırması
Öncelikle, sistemin önbellekleme performansını artırmak amacıyla Redis‘i yüklüyoruz. Ardından, bu servisin arka planda kesintisiz bir şekilde çalışmasını sağlamak için gerekli yapılandırma ayarlarını yapacağız. Redis’in bir sistem servisi olarak sürekliliğini garanti altına alıyoruz.
sudo apt update
sudo apt install redis-server -y

Son olarak, kurulum işlemlerini tamamladıktan sonra Redis’in düzgün çalıştığını kontrol edin. Bu sayede, bir sonraki yapılandırma aşamasına geçmeden önce servislerin kararlılığından emin olabilirsiniz.
redis-cli ping
Cevap olarak “PONG” gelmelidir.

2. Redmine İçin Redis Bağımlılıklarını Yükleme
Redmine’in Redis ile sağlıklı bir şekilde konuşabilmesi için “hiredis” ve “redis-client” kütüphanelerine ihtiyacı vardır. Özellikle bu kütüphanelerin sisteme dahil edilmesi, uygulama ile önbellek servisi arasındaki veri geçişinin yüksek hızda ve hatasız gerçekleşmesini sağlar.
- Redmine ana dizinine gidin:
cd /var/www/redmine

- Gemfile.local dosyası oluşturun: Redmine’in ana çekirdeğini bozmadan ek kütüphane eklemek için en iyi yöntem budur.
nano Gemfile.local
İçine aşağıdaki satırları ekleyin. Satırları ekledikten sonra Ctrl + X ile çıkış yapıp dosyayı kaydediyoruz.
# Redis kütüphanelerini ekliyoruz
source 'https://rubygems.org'
gem "redis"
gem "hiredis"

- Bağımlılıkları güncelleyin:
Son çıkan updateler var ise bunları mutlaka güncelliyoruz.
bundle config set --local without 'development test'

Yükleme için ise aşağıdaki komutu kullanıyoruz.
sudo bundle install

3. Redmine Önbellek Ayarları
Bundan sonraki aşamada, kütüphane kurulumlarını tamamladığımız Redmine‘e artık Redis’i bir önbellek deposu (cache store) olarak kullanmasını tanımlayacağız. Bu doğrultuda, yapılacak küçük bir yapılandırma değişikliği sayesinde sistemin yanıt sürelerini minimize ederek veri geçiş performansını en üst seviyeye taşıyacağız.
- Yapılandırma dosyasını açın:
sudo nano config/additional_environment.rb

- Dosyanın içine şu ayarları ekleyin:
config.cache_store = :redis_cache_store, {
url: "redis://localhost:6379/0",
namespace: "redmine_cache",
expires_in: 90.minutes
}

4. Arka Plan İşleri İçin Sidekiq (Opsiyonel ama Önerilir)
Eğer e-posta gönderimi veya dosya içe aktarma gibi işlemlerin web arayüzünü dondurmasını istemiyorsanız, arka planda Sidekiq kullanabilirsiniz.
Sidekiq kurulumu biraz daha detaylı bir adımdır, ancak başlangıç aşamasında yukarıdaki Redis Cache yapılandırması bile sisteminizi %30-40 oranında hızlandıracaktır.
5. Değişiklikleri Uygulama
Tüm ayarların aktif olması için Apache (veya Passenger) servisini yeniden başlatın.
sudo systemctl restart apache2

Kurulumun Kontrolü
Redmine cache kullanımı görüntülemek isterseniz cli yardımı ile bunu teyit edebilirsiniz.
redis-cli monitor

Redis Cache yapılandırma işlemlerinin sonuna gelmiş bulunuyoruz. Bu işlemler sayesinde, uygulama sunucumuz artık taleplere çok daha hızlı cevap vererek performansını en üst seviyeye taşıyacak. Umarım hazırladığım bu teknik rehber sizler için faydalı olmuştur. Gelecek yazılarımızda görüşmek üzere, herkese sorunsuz ve yüksek performanslı günler dilerim.
