Saturday, January 14, 2017

Moving Average Sqlite

Wir führen eine Web-Anwendung und wechselte von memcached zu redis (2.4) für das Caching. Jetzt sind wir etwas enttäuscht über redis Leistung. Redis läuft auf dem gleichen Server und wir verwenden nur sehr einfache GET - und SET-Operationen. Bei manchen Anfragen, bei denen zwischengespeicherte Werte stark genutzt werden, haben wir bis zu 300 GET-Anforderungen an redis, aber diese Anfragen dauern bis zu 150ms an. Wir haben etwa 200.000 aktive Schlüssel, und etwa 1.000 redis Anfragen pro Sekunde. Es gibt kein Problem mit Festplatte io, RAM oder CPU. Wegen unseres vorhandenen Codes können wir nicht einfach redis Anträge zusammen gruppieren. Memcached wurde etwa 4 mal schneller. Was wir an redis mögen, ist, dass wir keine Cache-Erwärmung benötigen und zukünftig erweiterte Datenspeicher-Funktionen nutzen können. Wir erwarteten redis ähnlich ähnlich wie memcached. So vielleicht haben wir etwas in unserer Konfiguration, die im Grunde die Standard-Konfiguration ist verpasst. Kennen Sie von jeder bewährten Praxis für redis Leistung Tuning gefragt Mai 30 13 um 16:32 It39s eine Web-Anwendung mit etwa 100 Apache-Anfragen pro Sekunde. Redis läuft auf dem gleichen Rechner wie die Web-Anwendung selbst und der MySQL-Datenbank-Server, aber wir planen, den Apache zu 3 loadbalanced Servern bald zu bewegen. Der gegenwärtige Bediener hat ungefähr 64GB RAM, redis nimmt ungefähr 100MB. Es gibt genug freien RAM und kein Problem mit CPU oder io. Der Server tauscht nicht auf Festplatte. Und ja, ich meine 150ms für 300 Anfragen, aber Memcached nahm nur 40ms unter den gleichen Bedingungen. Ndash ak2 Mai 30 13 at 16:44 Zuerst möchten Sie vielleicht die Redis-Benchmark-Seite zu lesen. Es bietet eine gute Zusammenfassung der wichtigsten Punkte zu überprüfen, um Redis zu stimmen. Selbst wenn Sie keine Pipeline verwenden, sind 300 GETs in 150 ms nicht so effizient. Es bedeutet, dass die durchschnittliche Latenzzeit 500 us beträgt. Allerdings hängt es tatsächlich von der Größe Ihrer Objekte. Größere Objekte, mehr Latenz. Auf meiner sehr alten 2 GHz AMD-Box kann ich 150 Latenzen für kleine Objekte (wenige Bytes) messen. Um die durchschnittliche Latenz der Redis-Instanz schnell zu überprüfen, können Sie Folgendes verwenden: Verwenden Sie eine aktuelle Redis-Version (nicht 2.4), um diese Option zu erhalten. Hinweis: 2.4 ist ziemlich alt, verwenden Sie Redis 2.6 - kompilieren Sie Ihre eigene Redis-Version, wenn nötig, es ist wirklich einfach. Um schnell eine Benchmark zu starten, um die Latenz zu untersuchen, können Sie starten: Es läuft mit einer einzigartigen Verbindung und ohne Pipelining, so dass die Latenz aus dem Durchsatz abgeleitet werden kann. Versuchen Sie, das Ergebnis dieser Benchmarks mit den Daten Ihrer Bewerbung zu vergleichen. Es gibt mehrere Punkte, die Sie überprüfen können: Welche Redis-Clientbibliothek verwenden Sie Mit welcher Entwicklungssprache Für einige Skriptsprachen müssen Sie das hiredis-Modul installieren, um einen effizienten Client zu erhalten. Ist Ihre Maschine eine VM Auf welchem ​​Betriebssystem sind die Verbindungen zu Redis persistent (d. H. Sie sollen nicht connectdisconnect bei jeder HTTP-Anforderung Ihres App-Servers). Warum ist es besser mit memcached Nun, eine einzelne memcached-Instanz ist sicher mehr skalierbar und kann mehr reagieren als eine einzelne Redis-Instanz, da es auf mehrere Threads ausgeführt werden kann. Redis ist schnell, aber Single-Threaded - die Ausführung aller Befehle wird serialisiert. Wenn also ein Befehl für eine Verbindung ausgeführt wird, müssen alle anderen Clients warten - eine schlechte Latenz auf einen bestimmten Befehl wirkt sich auch auf alle anstehenden Befehle aus. Im allgemeinen sind die Leistungen bei niedrigem Durchsatz jedoch vergleichbar. Bei 1000 qs (ein niedriger Durchsatz von Redis oder Memcached-Standards), würde ich sagen, es ist wahrscheinlicher Ihr Problem ist auf Client-Seite (d. h. Wahl der Client-Bibliothek, connectiondisconnection, etc.), als mit Redis-Server selbst. Schließlich sollte ich erwähnen, dass, wenn Sie eine Anzahl von Redis-Abfragen pro HTTP-Anfrage generieren, betrachten Pipeline-Befehle, die Sie an Redis so weit wie möglich senden. Es ist wirklich ein wichtiger Punkt, um effiziente Redis-Anwendungen zu entwickeln. Wenn sich Ihre Anwendungsserver auf demselben Feld wie Redis befinden, können Sie anstelle des TCP-Loopbacks auch Unix-Domain-Sockets verwenden, um eine Verbindung zu Redis herzustellen. Es verbessert die Performance (bis zu 50 mehr Durchsatz, wenn Pipelining NICHT verwendet wird).Erstellen einer Liste von eindeutigen Werten aus einer MySQL-Spalte Möchten Sie eine Liste aller verschiedenen Werte in einer Spalte erhalten, verwenden Sie das Schlüsselwort DISTINCT. Heres ein Beispiel: (2004-04-14, aktualisiert 2006-06-05) Zugehörige Themen werden nachstehend indiziert, oder geben Sie melksh. amnnnn für einzelne Artikel ein S157 - Weitere MySQL-Befehle 4481 Extrahieren von Daten aus Sicherungen, um ausgewählte Zeilen aus MySQL wiederherzustellen Tabellen - (2015-05-01) 3270 SQL - Daten v Metadaten und die verschiedenen Stufen der Datenselektion - (2011-04-29) 3061 Datenbanken - warum Daten in separate Tabellen aufgeteilt werden und wie sie aufgenommen werden können - (2010 -11-20) 2647 Entfernen von Duplikaten aus einer MySQL-Tabelle - (2010-02-22) 2645 Optimieren und Zwischenspeichern von MySQL-Anfragen - (2010-02-22) 2644 Zählen von Zeilen in verbundenen MySQL-Tabellen - (2010-02-22) 2643 Verknüpfen von Tabellen mit Joins in MySQL - (2010-02-21) 2448 MySQL - Effizienz und andere Themen - (2009-10-10) 2259 Gruppieren von Zeilen für einen Zusammenfassungsbericht - MySQL und PHP - (2009-06-27) 2110 MySQL - Suchen nach Datensätzen in einer Tabelle, die nicht mit Datensätzen in einer anderen Tabelle übereinstimmen - (2009-03-31) 1904 Ruby, Perl, Linux, MySQL - einige Übungshinweise - (17.11.2007) 1735 Wörter und Arbeit finden (MySQL, Perl, PHP) - (2008-08-03) 1574 Beitritt zu MySQL-Tabellen revisited - Suche nach nicht übereinstimmenden Datensätzen, etc. - (2008-03-15) 1331 MySQL-Joins revisited - (2007-09-03) 1235 Zahlen ausgeben Als Wörter - MySQL mit Perl oder PHP - (2007-06-17) 1213 MySQL - die Reihenfolge der Klauseln und die Reihenfolge der Aktionen - (2007-06-01) 673 Hubschrauberansichten und Tartans - (2006-04-06) 591 Wichtige Fakten - SQL und MySQL - (2006-02-04) 581 Speichern einer MySQL-Abfrageergebnisse auf Ihrem lokalen Datenträger für Excel - (2006-01-29) 572 Den Forschern die Macht über die Datenbankanalyse geben - (2006-01-22) 567 Kombinieren ähnlicher Zeilen aus einer MySQL-Datenbank Auswählen - (2006-01-17) 517 Eine gelegentliche Chance und Verringerung der Daten auf überschaubare Ebenen - (2005-12-04) 515 MySQL - ein FAQ - (2005-12-03) 513 MySQL - JOIN oder WHERE, um Tabellen korrekt zu verknüpfen - (2005-12-01) 502 SELECT in MySQL - Auswahl der gewünschten Zeilen - (2005-11-22) 494 MySQL - eine Punktzahl von Merkmalen - (2005-11- (2004-12-21) 159 MySQL - LEFT JOIN und RIGHT JOIN, INNER JOIN und OUTER JOIN - (2004-12-20) Einige Andere Artikel 4722 Beiträge, Seite auf Seite Dies ist eine Seite die aus dem Horses Mouth bei wellho. nethorse - dem Tagebuch und den Schriften von Graham Ellis archiviert wurde. Jeder Versuch wurde gemacht, um aktuelle Informationen zum Zeitpunkt der Seite geschrieben wurde, aber die Dinge bewegen sich voran in unserem Geschäft - neue Software-Releases, Preisänderungen, neue Techniken. Überprüfen Sie bitte zurück über unsere Hauptaufstellungsort für gegenwärtige Kurse, Preise, Versionen, etc. - irgendeine Erwähnung eines Preises im Horses-Mund kann nicht als Angebot genommen werden, um an diesem Preis zu liefern. Vielen Dank für Ihren Besuch. Wir bieten keine Sponsoring oder Einladungen zu unseren Kursen für UK Visa Anwendungen zu unterstützen. Wenn Sie irgendwelche unserer Kurse buchen und sind ein Staatsbürger der Ukraine, überprüfen Sie bitte mit Ihrem lokalen britischen Konsulat und machen alle notwendigen Visa-Vereinbarungen, bevor Sie buchen. Mehr Kommentar von Colin (published 2010-10-08) Vorgeschlagener Link. Havent gesehen Ihre Website Ernte in SQL Suchvorgänge seit Jahren. Ich diese Seite gefunden Suche nach einer Lösung für ein etwas anderes Problem: Ich brauche eine Liste von eindeutigen Werten und eine ID. Jede id wird. Erste oder letzte. So wie aus Ihrer Tabelle: Wie die Rückkehr der verschiedenen Ziel zusammen mit einem tid Wählen Sie ein tid, jede tid Stackoverflow hat ein ähnliches Problem. Ich gebe Verbindung. Meine col Ich will eindeutig hat einige schwere calcs so bin ich versuchen, Multi-Selects und Joins so weit wie möglich zu vermeiden. 3783 Durchschnittliche Seitenauflistung - 4.0


No comments:

Post a Comment