Wie, um performance-test der Datenbank

Erstellte ich eine Datenbank, die folgende Tabelle für die Aktivitäten der Nutzer:

user_id        |  INTEGER  |  user being notified
actor_id       |  INTEGER  |  user performing the action
activity_type  |  STRING   |  classname/type of the object being notified
activity_id    |  INTEGER  |  id of the object being notified
context_type   |  STRING   |  classname/type of the object's parent
context_id     |  INTEGER  |  id of the object's parent
read/view_at   |  DATETIME |  timestamp of when user saw it

Ich weiß nicht, ob das design gut ist in Bezug auf die Leistungen. So möchte ich, um es zu testen irgendwie.
Ich kann das Auffüllen der Datenbank mit einer Menge von Daten und öffnen Sie die Seite, wo ich brauche, um die Daten aus dieser Tabelle aber ich weiß nicht, ob das relevant ist, testen.

Ist es ein guter Weg, um zu sehen, wie dieses design durchführen wird, wenn es 10.000 - Benutzer und - 50.000.000 Datensätze in Futtermitteln Tabelle?

Ich weiß nicht, ob dies helfen kann, aber ich bin mit MS SQL Server

  • Es bauen; Messen; dann einstellen.
  • Das bedeutet, dass dieses design bis zur Produktion. Aber was, wenn ich die 50.000.000-Aktivitäten und ich finde heraus, dass Benutzer nicht öffnen können Seite aufgrund der langsamen Datenbank. Ich muss sicher sein, dass dieses design für Aktivitäten funktionieren wird.
  • Was ist deine hardware? Bist du mit SSD ' s? Was sind Ihre Indizes? Haben/Können Sie das design-schema-gebunden Ansichten zu cache-Aggregate? Was sind deine FK ' s??? Ich habe erst angefangen zu Fragen, die entsprechenden Fragen zu beantworten Ihre Fragen. erstellen Sie eine 3NF-design und beheben Sie performance-Bedenken, wenn Sie tatsächlich ein problem haben.
  • was @PieterGeerkens ist zu sagen, dass es leicht sein würde, zum erstellen von DB mit denen Anzahl und testen Sie es unter die QPS, die Sie benötigen. es hängt von Ihnen ab-Abfragen und mehr.
  • Tun Sie wirklich erwarten, 50M trifft, wenn Sie beginnen, Ihre Anwendung? Etwas seltsam, der eine Schätzung zu mir.
  • Dieser ist für start up. Ich verwende shared-hosting-also nichts besonderes über die hardware. Es gibt keine FK mit diesem design werden diese einsamen Tisch. Es gibt auch andere Tabellen, wie Kommentare,Beiträge,Gruppen etc. Ich erwarte nicht, dass schnelles Wachstum zu 50.000.000 🙂 aber ich brauche, um das design dieser Datenbank richtigen Weg. Und ich habe nie etwas bauen in der Nähe dieser (mini-social-network) und müssen sicher sein, dass dieses design gehen für eine lange Zeit.
  • Bitte beachten Sie, dass die Verwendung Dinge wie activity_type zu "wählen", die Tabelle zu verweisen (anstatt richtigen Fremdschlüssel) ist als anti-pattern. Für die Gründe, warum möchten Sie vielleicht zu schauen: Sql - Indirekte Foreign Key. Für einige alternativen, können Sie sich möglicherweise hier.

InformationsquelleAutor 1110 | 2014-01-26
Schreibe einen Kommentar