Tüm Ürünler
Search
Belge Merkezi

Simple Log Service:Tam Doğruluk Modu

Son Güncelleme:Oct 01, 2026

Tam doğruluk modu, kaynak sınırlarına ulaşıldığında sorguları kesmek yerine daha uzun süre çalıştırarak hassas ve eksiksiz sonuçlar elde etmenizi sağlar.

Sınırlamalar

Aşağıdaki özellikler tam doğruluk modunu desteklemez:

Çalışma Prensibi

Tam doğruluk modu; G/Ç ve CPU gibi çeşitli kaynak kısıtlamalarını tek bir zaman tabanlı sınıra dönüştürür. Bir sorgu kaynak sınırına ulaştığında sistem sorguyu sonlandırmak yerine sürdürülebilir bir hızda çalıştırır. Bu sayede sorgu, tamamlanana kadar veya zaman aşımına ulaşılana kadar devam eder. Bu mod, kaynakları verimli planlamak için yalıtılmış kaynak havuzlarında görev ataması, kullanıcı tabanlı kuyruk önceliklendirmesi ve yük dengeleme yöntemlerini kullanır.

image

Standart sorgular standart bir hesaplama havuzunda çalışır ve bir kaynak sınırına ulaşıldığında hemen kesilir; bu durum hatalı sonuçlara yol açabilir. Tam doğruluk modu etkinleştirildiğinde sorgular özel bir hesaplama havuzunda çalışır. Sistem, tüm veriler yüklenip hesaplama tamamlanana kadar görevi sürdürülebilir bir hızda çalıştırmaya devam eder.

image

Ön Koşullar

  • Bir Standart günlük deposu (Logstore) oluşturmuş olmanız gerekir. Daha fazla bilgi için bkz. Temel LogStore Oluşturma.

  • Günlükleri toplamış olmanız gerekir. Daha fazla bilgi için bkz. Veri Toplama.

  • Dizinleri yapılandırmış olmanız gerekir. Daha fazla bilgi için bkz. Dizinleri Yapılandırma.

Yordam

Belirli bir Logstore içindeki bireysel sorgu ve analiz işlemleri için tam doğruluk modunu etkinleştirebilirsiniz.

Not

Konsol, API veya SDK kullanarak tam doğruluk modu için maksimum zaman aşımını yapılandırabilirsiniz. Bir analiz deyimi için maksimum zaman aşımı 55 saniyedir.

Konsol

  1. Simple Log Service konsoluna oturum açın.

  2. Projeler bölümünde istediğiniz projeyi tıklayın.

    image

  3. Log Storage > Logstores sekmesinde istediğiniz günlük deposunu tıklayın.

    image

  4. image > Completely Accurate öğesini tıklayın.

    Önemli

    query_max_run_time parametresini ayarlayarak zaman aşımını değiştirebilirsiniz.

    Örneğin, analiz deyimimiz * | select count(*) as pv ise deyime set session query_max_run_time=10s; ekleyebiliriz. Tam analiz deyimi şu hale gelir: * | set session query_max_run_time=10s; select count(*) as pv.

    image

API

  • GetLogs (sıkıştırılmamış sonuçlar döndürür) - Logstore'daki günlük verilerini sorgular

    • Parametre: query

      Örneğin, analiz deyimi * | select count(*) as pv şeklindedir.

      • Tam doğruluk modunu etkinleştirme: Analiz deyiminden önce set session allow_incomplete=false; ifadesini ekleyin. Örneğin, * | select count(*) as pv deyimi * | set session allow_incomplete=false; select count(*) as pv haline gelir.

      • Sorgu analizi zaman aşımını ayarlama: Analiz deyimine set session query_max_run_time=10s; ekleyin. Bu işlem maksimum yürütme süresini 10s olarak ayarlar. Analiz deyimi şöyledir: * | set session allow_incomplete=false; select count(*) as pv.

      • Tam doğruluk modunu etkinleştirmek ve zaman aşımı ayarlamak için oturum komutlarını analiz deyiminizin başına ekleyin. Örnek: * | set session allow_incomplete=false; set session query_max_run_time=10s;select count(*) as pv.

  • GetLogsV2 (sıkıştırılmış sonuçlar döndürür) - Logstore'daki günlük verilerini sorgular

    • Parametre: query

      Örneğin, analiz deyimi * | select count(*) as pv şeklindedir.

      • Tam doğruluk modunu etkinleştirme: Analiz deyiminden önce set session allow_incomplete=false; ifadesini ekleyin. Örneğin, * | select count(*) as pv deyimi * | set session allow_incomplete=false; select count(*) as pv haline gelir.

      • Sorgu analizi zaman aşımını ayarlama: Analiz deyimine set session query_max_run_time=10s; ekleyin. Bu işlem maksimum yürütme süresini 10s olarak ayarlar. Analiz deyimi şöyledir: * | set session allow_incomplete=false; select count(*) as pv.

      • Tam doğruluk modunu etkinleştirmek ve zaman aşımı ayarlamak için oturum komutlarını analiz deyiminizin başına ekleyin. Örnek: * | set session allow_incomplete=false; set session query_max_run_time=10s;select count(*) as pv.

SDK

Bu bölümde örnek olarak Java için Simple Log Service SDK'sı kullanılmıştır.

Ön Koşullar

Java için Simple Log Service SDK'sını yüklemiş olmanız gerekir. Daha fazla bilgi için bkz. Java için Simple Log Service SDK'sını Yükleme.

  • GetLogs() yöntemi

    • Parametre: query

      Örneğin, analiz deyimi * | select count(*) as pv şeklindedir.

      • Tam doğruluk modunu etkinleştirme: Analiz deyiminden önce set session allow_incomplete=false; ifadesini ekleyin. Örneğin, * | select count(*) as pv deyimi * | set session allow_incomplete=false; select count(*) as pv haline gelir.

      • Sorgu analizi zaman aşımını ayarlama: Analiz deyimine set session query_max_run_time=10s; ekleyin. Bu işlem maksimum yürütme süresini 10s olarak ayarlar. Analiz deyimi şöyledir: * | set session allow_incomplete=false; select count(*) as pv.

      • Tam doğruluk modunu etkinleştirmek ve zaman aşımı ayarlamak için oturum komutlarını analiz deyiminizin başına ekleyin. Örnek: * | set session allow_incomplete=false; set session query_max_run_time=10s;select count(*) as pv.

    • Parametre: session

      • Tam doğruluk modunu etkinleştirme: request.SetSession("allow_incomplete=false");.

      • Sorgu zaman aşımını ayarlama: request.SetSession("query_max_run_time=10s");.

      • Tam doğruluk modunu etkinleştirme ve zaman aşımı ayarlama: request.SetSession("allow_incomplete=false;query_max_run_time=10s").

    import com.aliyun.openservices.log.Client;
    import com.aliyun.openservices.log.exception.LogException;
    import com.aliyun.openservices.log.request.GetLogsRequest;
    import com.aliyun.openservices.log.response.GetLogsResponse;
    
    public class CrearteLogStore {
        public static void main(String[] args) throws LogException {
            // This example obtains the AccessKey ID and AccessKey Secret from environment variables.
            String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
            String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
            // Set the endpoint for Simple Log Service. This example uses the endpoint for the China (Beijing) region. Replace it with your actual endpoint.
            String host = "https://cn-beijing.log.aliyuncs.com";
            // Create a Simple Log Service client.
            Client client = new Client(host, accessId, accessKey);
            // Specify the Project name.
            String projectName = "aliyun-test-project";
            // Specify the Logstore name.
            String logstore = "request_log";
            String query = "* | SELECT count(0)";
            int from = (int)(System.currentTimeMillis()/1000) - 60;
            int to = (int)(System.currentTimeMillis()/1000);
            GetLogsRequest request = new GetLogsRequest(projectName, logstore, from, to, "", query);
            request.SetSession("allow_incomplete=false;query_max_run_time=10s");
            GetLogsResponse response = client.GetLogs(request);
            System.out.println(response.getCpuSec());
        }
    }

SSS

  • CPU süresini nasıl kontrol edebilirim?

    Bir sorgu çalıştırdıktan sonra Analysis Results üzerine gelerek CPU süresini görüntüleyebilirsiniz. Sağ üstteki istatistik panelindeki Consumed CPU Time alanı CPU süresini saniye cinsinden gösterir.

  • Özel SQL sorgusunun maliyeti

    Maliyet, veri hacmine ve sorgu karmaşıklığına göre değişir.

    Sorgu deyimi

    Veri hacmi (satır)

    Çalıştırma başına maliyet (USD)

    * | select avg(double_0) from stress_s1_mil1

    4 milyar

    0.004435

    * | select avg(double_0), sum(double_0), max(double_0), min(double_0), count(double_0) from stress_s1_mil1

    4 milyar

    0.006504

    * | select avg(double_0), sum(double_1), max(double_2), min(double_3), count(double_4) from stress_s1_mil1

    4 milyar

    0.013600

    * | select key_0 , avg(double_0) as pv from stress_s1_mil1 group by key_0 order by pv desc limit 1000

    4 milyar

    0.011826

    * | select long_0, avg(double_0) as pv from stress_s1_mil1 group by long_0 order by pv desc limit 1000

    4 milyar

    0.011087

    * | select long_0, long_1, avg(double_0) as pv from stress_s1_mil1 group by long_0,long_1 order by pv desc limit 1000

    300 milyon

    0.010791

    * | select avg(double_0) from stress_s1_mil1 where key_0='key_987'

    4 milyar

    0.00007