Cache procesów Thina, czy może być wspólne?

Uruchomiłem właśnie duet Nginx+Thin z 16 procesami Thina i zauważyłem dziwną rzecz: procesy Thina mają osobny cache. Czyli gdy otwieram stronę główną aplikacji, dopiero za 16 razem zaczyna wczytywać się zawsze z cache.
Czy idzie ustawić, by procesy Thina miały wspólny cache? Dokumentacja Thina jest dość uboga.
A może ktoś chociaż wie, czy Mongrel też się tak zachowuje?

O jakim rodzaju cache’u mówisz?

Chodzi mi o cache blokowe. O takie:

<% cache "right-block-2" do %> ... ... ... <% end %>

Zgaduję, że odpaliłeś thina w trybie development, który to używa MemoryStore. Thin nic ma z tym nic wspólnego.

Odpaliłem w trybie production.

Config trybu wygląda tak:

[code=“ruby”]# The production environment is meant for finished, “live” apps.

Code is not reloaded between requests

config.cache_classes = true

Full error reports are disabled and caching is turned on

config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.action_view.cache_template_loading = true

See everything in the log (default is :info)

config.log_level = :debug

Use a different logger for distributed setups

config.logger = SyslogLogger.new

Use a different cache store in production

config.cache_store = :mem_cache_store

Enable serving of images, stylesheets, and javascripts from an asset server

config.action_controller.asset_host = “http://assets.example.com

Disable delivery errors, bad email addresses will be ignored

config.action_mailer.raise_delivery_errors = false

Enable threaded mode

config.threadsafe![/code]

Nie wiem jaki jest domyślny store, ale Radarek ma rację - thin nie ma z tym nic wspólnego. Postaw na serwerze memcache’a i ustaw:

config.cache_store = :mem_cache_store

Wtedy wszystkie instancje aplikacji będą korzystać z jednego serwera memcached.

[quote=drogus]Nie wiem jaki jest domyślny store, ale Radarek ma rację - thin nie ma z tym nic wspólnego. Postaw na serwerze memcache’a i ustaw:

config.cache_store = :mem_cache_store

Wtedy wszystkie instancje aplikacji będą korzystać z jednego serwera memcached.[/quote]
Dzięki, pomogło. :slight_smile: Serwer ma dużo pamięci, więc to nawet lepiej, że używa teraz memcached.