2012-10-22 14 views

Antwort

9

Ich habe gerade eine Reihe von Tests durchgeführt und festgestellt, dass es nicht wirklich viel über eine TCP-Verbindung mit syslog-ng umgehen kann.

Hier sind meine Testergebnisse für jeden, der es versuchen möchte. Ich habe dafür das "Loggen" -Programm von balabit benutzt und 200 Byte Nachrichten an den TCP Logger geschickt, der mir per Loggly zugewiesen wurde. Beachten Sie, dass, obwohl der Syslog-RFC (mindestens 3164) angibt, dass eine Protokollnachricht 1024 Bytes nicht überschreiten sollte, ich 200 Byte-Pakete verwendet habe, um fair zu sein, und weil viele Nachrichten so klein sind.

Für einen kostenlosen Account angemeldet. Konfigurierte eine TCP-Verbindung zum Testen. Versuchte Senden von verschiedenen Mengen, Ergebnisse:

Test 1: FAIL

loggen -iS -r 6000 -s 200 -I 100 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 1392.13 msg/sec, count=18296, time=13.142, (average) msg size=200, bandwidth=271.74 kB/sec 

Test 2:

loggen -iS -r 4000 -s 200 -I 100 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 2767.16 msg/sec, count=121146, time=43.779, (average) msg size=200, bandwidth=540.15 kB/sec 

Test 3 FAIL: 4

loggen -iS -r 2500 -s 200 -I 100 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 1931.27 msg/sec, count=85878, time=44.467, (average) msg size=200, bandwidth=376.98 kB/sec 

Test nicht bestehen: FAIL

loggen -iS -r 2000 -s 200 -I 100 logs.loggly.com 16225  
Send error Broken pipe, results may be skewed.  
average rate = 1617.72 msg/sec, count=83134, time=51.389, (average) msg size=200, bandwidth=315.78 kB/sec 

Test 5:

loggen -iS -r 1000 -s 200 -I 100 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 936.50 msg/sec, count=63331, time=67.624, (average) msg size=200, bandwidth=182.81 kB/sec 

Test 6 FAIL: Durchlauf für die Dauer konfiguriert, FAIL für> 100 Sekunden - siehe TEST 7

loggen -iS -r 500 -s 200 -I 100 logs.loggly.com 16225 
average rate = 325.00 msg/sec, count=32501, time=100.001, (average) msg size=200, bandwidth=63.44 kB/sec 

Test 7: FAIL - Ran einen neuen Test @ 500 EPS für einen längeren Zeitraum und das Rohr brach nach 255 Sekunden:

loggen -iS -r 500 -s 200 -I 10000 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 323.35 msg/sec, count=82642, time=255.577, (average) msg size=200, bandwidth=63.12 kB/sec 

Test 8: FAIL (RAN für mehr @ 200 EPS, scheiterte aber immer noch)

loggen -iS -r 200 -s 200 -I 10000 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed.  
average rate = 163.53 msg/sec, count=234090, time=1431.470, (average) msg size=200, bandwidth=31.92 kB/sec 

Test 9: FAIL (wieder länger lief aber immer noch nicht)

loggen -iS -r 50 -s 200 -I 10000 logs.loggly.com 16225  
Send error Broken pipe, results may be skewed.  
average rate = 47.36 msg/sec, count=89325, time=1886.014, (average) msg size=200, bandwidth=9.25 kB/sec 

Test 10: FAIL? (gleiche Ergebnisse, aber die Verbindung wieder verloren. Kaum zu glauben, dass sie nicht mit 10 EPS umgehen können?)

loggen -iS -r 10 -s 200 -I 10000 logs.loggly.com 16225 
Send error Broken pipe, results may be skewed. 
average rate = 9.94 msg/sec, count=1568, time=157.770, (average) msg size=200, bandwidth=1.94 kB/sec 

Hat einige Web-was loggly tatsächlich tun können, aber es gibt nur Marketing-Material zu sehen, suchen, die sagt, dass es skalierbar ist, nicht, wie skalierbar ist. Ich habe diese finden: http://twitter.com/jordansissel/status/5948244626509824 die nur 22 Ereignisse pro Sekunde ...

Full Disclosure: Ich bin der Gründer von LogZilla, so dass ich den Wettbewerb zu testen, weil wir eine Cloud-basierte Lösung syslog starten. Meine Tests zeigen, dass unsere Software je nach Server, den wir in der Cloud verwenden, 2.000 bis 12.000 Ereignisse pro Sekunde verarbeiten kann.

2

Ich weiß es wirklich nicht, aber ich habe auch ohne Glück eine Protokollierungslösung für node.js gesucht.

Warum?

Da alle diejenigen, die ich überprüft habe (nicht alle überprüft) synchrone Disk schreiben verwenden! ...... was die Leistung stark beeinträchtigt.

Also, wenn Sie mich fragen - sollten Sie Ihre Bedürfnisse erneut in Betracht ziehen und nur Dinge protokollieren, die Sie wirklich brauchen.

-1

Ich lief Tests ähnlich denen in Clayton answer als seine Ergebnisse machte mich besorgt, dass Loggly Nachrichten fallen lassen würde, wenn ich zu viele zur gleichen Zeit gesendet. Ich wollte sehen, ob die Probleme, denen Clayton 2012 begegnet ist, auch heute noch existieren.

Das sagte, hier ist, was ich fand, loggen für 60 Sekunden, 100.000 Nachrichten pro Sekunde generieren.

$ loggen -iS -r 100000 -s 200 -I 60 logs-01.loggly.com port 
average rate = 34885.98 msg/sec, count=2093163, time=60.000, (average) msg size=200, bandwidth=6809.74 kB/sec 

ich war auch neugierig, was einige Konkurrenten für ähnliche Tests zurückkommen würde und ich fanden die folgende:

Papertrail

loggen -iS -D -r 100000 -s 200 -I 60 logs2.papertrailapp.com PORT 
average rate = 24344.71 msg/sec, count=1461327, time=60.026, (average) msg size=200, bandwidth=4752.09 kB/sec 

Logentries

$ loggen -iS -D -r 100000 -s 200 -I 60 api.logentries.com PORT 
average rate = 14076.76 msg/sec, count=844609, time=60.000, (average) msg size=200, bandwidth=2747.78 kB/sec 

Offensichtlich sind dies keine harten Zahlen, die immer gleich sind, wenn sich Systeme im Laufe der Zeit ändern. Dies gibt uns nur einen Anhaltspunkt dafür, wie sie geantwortet haben, als ich die Tests durchgeführt habe. Ihre Laufleistung wird variieren!

aktualisieren: Ich lief eine längere (fast 3 Stunden) Test gegen Loggly und erhielt folgendes:

loggen -iS -r 100000 -s 200 -I 10000 logs-01.loggly.com port 
average rate = 15869.22 msg/sec, count=158692177, time=10000.000, (average) msg size=200, bandwidth=3097.67 kB/sec 
+0

Um zu klären, habe ich nicht diese Tests für 3 Stunden laufen. Die Tests sollten zeigen, wie lange Loggly benötigt, um die Anzahl der von mir gesendeten Ereignisse zu verarbeiten. Also, wie Sie im ersten Beispiel sehen können, habe ich einen Test durchgeführt, um 4000 Ereignisse zu senden, und es dauerte 13 Sekunden, aber es ist fehlgeschlagen. –

+0

Danke für die Aufklärung! Ich habe nicht bemerkt, dass Ihre Tests so schnell fehlgeschlagen sind. Wie Sie jedoch sehen können, sind meine Tests nicht wie Ihre gescheitert. Ich schickte 100.000 Anfragen pro Sekunde für 60 Sekunden und es scheiterte nicht. Vielleicht ist Loggly besser geworden oder hast du sie an einem schlechten Tag getestet? – Brett

+1

sicherlich haben sie, meine Tests wurden vor 3 Jahren gemacht. Um fair zu sein, besitze ich ein etwas konkurrenzfähiges Produkt. Wir sind am Rande der Veröffentlichung einer neuen (und patentierten) Version, die ~ 1m eps verarbeitet;) –