yerleşik istatistikler ile veya ayrıştırmadan veritabanı istatistikleri ve raporlama


1

Genel bir istatistiksel yardımcı program / eklenti / uygulama tercih ediyorum, ancak kendimi de özel olarak yapabileceğim gibi sınırlamıyorum.

Sorguyu görebileceğim bir yol görmek istiyorum TÜM sorgular için istatistik .

ör. görüntüleme ve sıralama veya filtreleme

  1. tüm sorgular, veya
  2. yapılan tüm sorgular
  3. tüm veya belirli veritabanları veya
  4. belirli masalarda.
  5. veya belirli sütunlarda veya
  6. belirli sorgu regex / params ile; yapılan sorguların sayısına göre sıralama, zamana göre en uzun sorguların sayısı
  7. Bazı grafik çizelgeleri olsa bir artı olurdu. Bu tür şeyler için herhangi bir uygulama veya yerleşik özellikler var mı?

Bunu yapmak için yapmanız gerekenler tüm sorguları kaydet , o zaman koş / bu günlükleri ayrıştır bir çeşit analizör aracılığıyla. Bu özel bir yapı günlüğü ayrıştırıcı uygulamasına ihtiyaç duyabilir.

Geçerli sunucu, yüksek hacimli bir sunucudur: saniyede 500 - 3000 sorgu. Günlük başka bir HDD’ye kaydedilmiş olabilir.

Sorular:

  1. Bu tür şeyler için önceden oluşturulmuş uygulamalar var mı?

  2. Düzenli sorguları yavaşlatır mı? Eğer evet ise, ne kadar, kabaca?

  3. Canlı sorgular görmenin ve günlüğe kaydetmenin başka bir uygulama tarafından nerede yapıldığını veya hiç yapılmamasını ve canlı istatistikler raporu oluşturmasının bir yolu var mı?

  4. Günlükleri veritabanına özgü bir istatistik yapıcı ile ayrıştırmayabilirim, ancak günlük dosyasını alıp kendi ayrıştırıcı uygulamamı yapar ve bu günlüklerle istatistik ve grafik çizelgesi oluşturur. Bu ayrıştırılmış durumları başka bir DB'ye sorgulama değerleri + çalıştırma + sorgulama tarihi için alınan zaman değerleriyle koyup daha sonra raporlar oluşturabilir. Bu iyi bir fikir mi?

  5. Bunların hepsini bir dosyaya kaydetmeden yapmanın "canlı" bir yolunu görmedim.

  6. İçin önceden oluşturulmuş herhangi bir uygulama mysql ve postgres? Ben bunu kullanırım.

  7. Tüm bunları yapmak için herhangi bir strateji önerileri? "Performans analizini nasıl ayrıntılı yapacağımı" düşünmeye başladım.

Yanıtlar:


0

Bu karmaşık bir sorundur ve muhtemelen kolay bir cevabı yoktur.

Kullandığım bir yaklaşım kullanmak pg_logforward Günlükleri engellemek için, normalleştirilmiş günlük girişlerini başka bir PostgreSQL veritabanına yazan özel bir servise gönderin. (Hadoop vb. De mümkün olacaktır.) Ardından bu veritabanına karşı geçici sorgular çalıştırın veya kendinize hoş bir ön uç oluşturun. Herhangi bir yöntemle önceden oluşturulmuş değildir, ancak şu anda IMO'nun en güçlü yaklaşımıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.