2008-12-10 9 views
2

Quelqu'un at-il des limites memcached expérimentés en termes de:limitations memcached

  • d'objets en magasin cache - est-il un point où il perd la performance?

  • Quantité de mémoire allouée - quels sont les numéros de base à utiliser?
+0

En utilisant sur une échelle assez petite, donc je ne peux pas vraiment dire, mais étant donné qu'il est censé à l'échelle assez massivement, quelle taille sont tu t'inquiétais? (peut être bien dans la plage d'utilisation connue) –

Répondre

3

Je peux vous donner des mesures pour notre environnement. Nous exécutons memcached pour Win32 sur 12 boîtes (en tant que cache pour un site Web ASP.NET très lourd de base de données). Ces boîtes ont chacune leurs autres responsabilités; nous avons juste étalé les noeuds memcached à travers toutes les machines avec la mémoire à épargner. Chaque nœud avait au maximum 512 Mo alloués par memcached.

Nos nœuds ont en moyenne 500 à 1000 connexions ouvertes. Un nœud typique a 60.000 éléments dans le cache et gère 1000 requêtes par seconde (!). Tout cela fonctionne assez stable et nécessite peu de maintenance.

Nous avons rencontré 2 types de limitations: 1. Utilisation du processeur sur les machines client. Nous utilisons la sérialisation .NET pour stocker et récupérer des objets dans memcached. Fonctionne de manière transparente, mais l'utilisation du processeur peut devenir très élevée avec nos charges. Nous avons constaté que certains objets peuvent d'abord être convertis en chaînes (ou en fragments HTML) puis mis en cache. 2. Nous avons eu quelques problèmes avec les boîtes memcached à court de connexions TCP/IP. Répartir à travers plus de boîtes a aidé.

Nous courons Memcached 1.2.6 et utiliser le client .NET de http://www.codeplex.com/EnyimMemcached/

+0

Teun, Quel port de memcahed pour Win32 utilisez-vous? Quels sont les commutateurs de configuration que vous utilisez pour exécuter le service en mémoire? Comment avez-vous compris que vous utilisiez les connexions TCP/IP? – joeysim

+0

De jolis points sur la sérialisation et les connexions! –

1

Je ne peux pas garantir l'exactitude de cette affirmation, mais à un meetup linux/développeur quelques mois il y a un ingénieur a parlé de la façon dont son entreprise mis à l'échelle memcache retour à l'aide de morceaux de 2 Go, 3-4 par boîte de memcache . Ils ont trouvé que le débit était correct, mais avec de très grands démons memcache, ils obtenaient 4% de plus de ratés. Il a dit qu'ils ne pouvaient pas comprendre pourquoi il y avait une différence, mais a décidé d'aller avec ce qui fonctionne.