2017-07-25 1 views
0

Ich betreibe einen Kafka-Cluster auf Openshift. Soweit ich weiß, beruht die Kafka-Performance auf Pagecache. Ich habe versucht zu verstehen, wie ich die Ressource am Kafka-Container am besten begrenzen kann, damit es effizient funktioniert.Openshift Ressourcenlimit und Seitencache

Linux versucht, den verfügbaren RAM für Puffer zu verwenden, um die Datenträgervorgänge zu beschleunigen. Angenommen, es gibt nur einen Kafka-Container, der auf einem Knoten läuft, würde ich, wenn ich das Limit für den Container auf 5Gi festlege, den Rest des verfügbaren Speichers auf dem Knoten für Puffer/Cache verwenden, glaube ich.

Ich frage mich, wenn ich das Limit auf 10Gi setzen und wenn die Kafka nur 5GB verwenden, würden die verbleibenden 5GB noch ungenutzten für pagecahce zum Betriebssystem verfügbar sein?

Antwort

0

Das Limit reserviert keinen Speicher, es beschränkt sich lediglich darauf, wie viel die Anwendung verwenden kann. Ich glaube also nicht, dass dies Auswirkungen darauf haben sollte, wie das Betriebssystem Kernel-Buffer/Cache behandelt.

+0

Vielen Dank für Ihre Antwort. Also, wenn der Container 10Gi und 10Gi anfordert, bedeutet das, dass 10GB garantiert sind. In diesem Fall behält die Openshift die Erinnerung für den Container? – Vivek

+0

Wenn die Anwendung innerhalb des Containers nicht ganze 10 GB verwendet, wären die restlichen für den Seitencache verfügbar? Wenn es auf dem Knoten, auf dem der besteffort-Modus ausgeführt wird, eine andere Anwendung gibt, würde Openshift die Verwendung einschränken, um zu garantieren, dass 10 GB für die andere Anwendung verfügbar sind? – Vivek

+0

Der Anforderungsbetrag wird vom Scheduler verwendet, um zu bestimmen, welcher Knoten am besten einen Knoten platziert. Eine Anwendung wird nicht auf einem Knoten platziert, wenn ihre Anforderung nicht erfüllt werden kann. Wenn auch ein Grenzwert festgelegt ist, kann der Scheduler eine Best-Effort-Anwendung auf einen anderen Knoten stoßen, wenn seine Speicherauslastung zunimmt, damit der Benutzer mit einer Beschränkung diese verwenden kann. Dies alles geschieht innerhalb des Bereichs des Kubernetes-Schedulers und sind Entscheidungen, die unabhängig von dem zugrundeliegenden Weg gemacht werden, auf dem das Betriebssystem Speicher verarbeitet. –

Verwandte Themen