Veri akışı performans özellikleri
Bu konu, nasıl hakkında öneriler sağlar Integration Servicesgenel performans sorunları önlemek için paket. Bu konu ayrıca özellikleri ve paketleri performans sorunlarını gidermek için kullanabileceğiniz araçlar hakkında bilgi sağlar.
Veri akışı yapılandırma
Daha iyi performans için veri akışı görev yapılandırmak için görevin özelliklerini yapılandırmak, arabellek boyutunu ayarlamak ve paralel yürütme paketi yapılandırma.
Veri akışı görev özelliklerini yapılandırın
[!NOT]
Bu bölümde açıklanan özellikler, her veri akışı görev bir paket için ayrı ayrı ayarlanmalıdır.
Veri akışı görev aşağıdaki özelliklerinin tümü performansını etkiler yapılandırabilirsiniz:
Arabellek veri için geçici depolama konumları belirtin ( BufferTempStoragePath özelliği) ve büyük ikili nesne (blob) veri içeren sütunlar ( BLOBTempStoragePath özelliği). Varsayılan olarak, bu özellikler temp ve tmp ortam değişkenleri değerlerini içerir. Geçici dosyaları farklı ya da daha hızlı bir sabit disk sürücüsüne yerleştirin ya da birden çok sürücüye yayılmaya diğer klasörleri belirtmek isteyebilirsiniz. Dizin adlarını noktalı virgül ile sınırlayan tarafından birden çok dizin belirtebilirsiniz.
Görev kullanır, ayarlayarak arabelleğinin varsayılan boyutunu tanımlamak DefaultBufferSizeözelliği ve en fazla satır sayısını belirleyerek her arabellekte tanımlayın DefaultBufferMaxRowsözellik. Varsayılan arabellek boyutu 100 megabayt cinsinden en büyük arabellek boyutu 10 megabayttır olduğunu. Varsayılan en fazla satır sayısı 10.000 olduğunu.
Görev yürütülürken, ayarlayarak kullanabilirsiniz iş parçacığı sayısını ayarlama EngineThreadsözellik. Bu özelliği kullanmak için veri akışı altyapısı iş parçacığı sayısı hakkında bir öneri sunar. 3 Minimum değeri 5 varsayılandır. Ancak, motor daha ihtiyacı, bu özelliğin değeri ne olursa olsun daha fazla iş parçacığı kullanılır. Eşzamanlılık sorunlarını önlemek gerekirse motor bu özelliğinde belirtilenden daha fazla iş parçacığı da kullanabilirsiniz.
Veri akışı görev en iyi duruma getirilmiş modunda çalışıp çalışmayacağını gösterir ( RunInOptimizedMode özelliği). En iyi duruma getirilmiş modunda, veri akış kullanılmayan sütunlar, çıkışları ve bileşenleri kaldırarak performansını artırır.
[!NOT]
Bir özellik ile aynı adı RunInOptimizedMode, proje düzeyinde ayarlanabilir SQL Server Veri Akışı Araçları (SSDT)hata ayıklama sırasında veri akışı görev en iyi duruma getirilmiş modunda çalışacağını belirtmek için. Bu proje özelliğini geçersiz kılar RunInOptimizedModeözelliği veri akışı görev Tasarım Zamanı.
Arabellekler boyutlandırma ayarla
Veri akışı altyapısı tek bir veri satırı tahmini boyutu hesaplayarak kendi Arabellekler boyutlandırma görevine başlar. Bu satır tahmini boyutu değerini çarpar sonra DefaultBufferMaxRowsarabellek boyutu için bir ön çalışma değerini elde etmek için.
Sonuç değeri fazla ise DefaultBufferSize, altyapısı satır sayısını azaltır.
Sonuç dahili olarak hesaplanan en küçük arabellek boyutundan daha küçükse, altyapısı satır sayısını artırır.
Sonuç değeri arasında en küçük arabellek boyutu düşer, DefaultBufferSize, tahmini satır boyutunu olabildiğince yakın arabellek değeri kez motor boyutlarını DefaultBufferMaxRows.
Veri akışı görev performansını test başlamak için varsayılan değerleri kullanın DefaultBufferSizeve DefaultBufferMaxRows. Veri akışı görev günlüğe kaydetmeyi etkinleştirmek ve kaç satır her arabellekte bulunan görmek için BufferSizeTuning olayı seçin.
Boyutlandırma arabelleklerinin ayarlamaya başlamak önce gereksiz sütunları kaldırarak ve veri türleri uygun şekilde yapılandırarak her satır veri boyutunu azaltmak için yapabileceğiniz en önemli gelişme olur.
Yeterli bellek kullanılabilir olduğunda, çok sayıda küçük arabellekleri yerine, daha az sayıda büyük arabellek kullanmalısınız. Diğer bir deyişle, verilerinizi saklamak için gereken arabellekleri toplam sayısını azaltarak ve içine bir arabellek olabildiğince çok veri satırları uygun performansı artırabilir. Tamponlar ve boyutlarına uygun sayısını belirlemek için değerleri ile deneme DefaultBufferSizeve DefaultBufferMaxRowsperformans ve bilgi izleme BufferSizeTuning olay tarafından bildirilen süre.
Disk belleği diske oluşmaya başladığı nokta arabellek boyutunu artırmayın. Disk belleği performansı daha fazla bir arabellek boyutu değil getirilmiş engel. Disk belleği oluşmasını olup olmadığını belirlemek için "biriktirilen arabellekleri" monitör performans sayacı performans ek bileşenindeki MicrosoftYönetim Konsolu (mmc).
Paralel yürütme paketi yapılandırma
Paralel yürütme, birden çok fiziksel ya da mantıksal işlemcisi olan bilgisayarlarda performansı artırır. Pakette paralel yürütme farklı görevleri desteklemek için Integration Servicesiki özellikleri kullanır: MaxConcurrentExecutablesve EngineThreads.
MaxConcurrentExcecutables özelliği
MaxConcurrentExecutablesÖzelliği olan bir özellik paketi. Bu özellik, kaç görevleri aynı anda çalıştırabilirsiniz tanımlar. Yani fiziksel ya da mantıksal işlemci sayısı artı 2 -1, varsayılan değerdir.
Bu özellik nasıl çalıştığını anlamak için üç veri akışı görev içeren örnek paketi düşünün. Eğer MaxConcurrentExecutables3, tüm üç veri akışı görevleri aynı anda çalıştırabilirsiniz. Ancak, her veri akışı görev 10 kaynak hedef yürütme ağaçları olduğunu varsayalım. Ayar MaxConcurrentExecutables3'e, içinde her bir veri akışı görev yürütme ağaçları paralel olarak çalıştırma garantilemez.
EngineThreads özelliği
EngineThreadsÖzelliği olan bir özelliği her veri akışı görev. Bu özellik, veri akışı altyapısı oluşturmak ve paralel kaç konuları tanımlar. EngineThreadsÖzelliği uygulanır eşit iki kaynak konudan veri akışı altyapısı kaynakları ve dönüşümleri ve hedefleri için altyapı oluşturan alt iş parçacığı oluşturur. Bu nedenle, ayar EngineThreads10 araç, motor on kaynak iş parçacığı oluşturabilir ve en fazla on çalışan iş parçacıkları.
Bu özelliğin nasıl çalıştığını anlamak için örnek paketi ile üç veri akışı görevleri düşünün. Her veri akışı görev içeren on kaynak hedef yürütme ağaçları. Her veri akışı görev için 10 EngineThreads ayarlarsanız, tüm 30 yürütme ağaçları potansiyel olarak aynı anda çalıştırabilirsiniz.
[!NOT]
İş parçacığı bir tartışma, bu konunun kapsamı dışında olduğunu. Ancak, genel kural daha fazla iş parçacığı kullanılabilir işlemci sayısına paralel değil çalıştırmaktır. Daha fazla iş parçacığı kullanılabilir işlemci sayısına göre çalışan performans nedeniyle sık sık Bağlam Geçişi arasındaki ipler engel olabilir.
Bireysel veri akışı bileşenleri yapılandırma
Daha iyi performans için bireysel veri akışı bileşenlerini yapılandırmak için takip edebilirsiniz bazı genel kurallar vardır. Ayrıca veri akışı bileşen her türü için belirli kurallar vardır: kaynak, dönüşüm ve hedef.
Genel kurallar
Veri akışı bileşen bakılmaksızın, performansı artırmak için uygulamanız gereken iki genel kurallar vardır: sorgu en iyi duruma getirme ve gereksiz dizeleri kaçının.
Sorgu en iyi duruma getirme
Onlar hulasa veri kaynaklarından ya da arama işlemlerinde başvuru tabloları oluşturmak için veri akışı bileşenleri çeşitli sorguları, ya da kullanın. Varsayılan sorgu Seç kullanır * from <tableName> sözdizimi. Bu sorgu türü, kaynak tablo için tüm sütunlar döndürür. Tasarım zamanında kullanılabilir tüm sütunları olan bir arama, doğrudan veya kaynak sütunu sütun seçmek mümkün kılar. Ancak, kullanılan sütunları seçtikten sonra yalnızca bu seçili sütunlar eklemek için sorguyu gözden geçirmeniz gerekir. Çünkü küçük bir satır daha az sütun oluşturmak gereksiz sütunları geçici veri akışı bir paket daha verimli kaldırılıyor. Küçük satır satır-ebilmek hastalık nöbeti bir arabellek veri kümesi içindeki tüm satırları işlemek için daha az iş olduğu anlamına gelir.
Bir sorgu oluşturmak için sorgu yazın veya Sorgu Oluşturucusu'nu kullanabilirsiniz.
[!NOT]
Bir paketi çalıştırdığınızda SQL Server Veri Akışı Araçları (SSDT), ilerleme sekmesini SSISTasarımcısı listeler uyarılar. Kaynak veri akışının kullanılabilir hale getirir, ancak sonradan downstream veri akışı bileşenleri tarafından kullanılan herhangi bir veri sütunu tanımlayan bu uyarıları içerir. Sen-ebilmek kullanma RunInOptimizedModeBu sütunlar otomatik olarak kaldırmak için özellik.
Gereksiz sıralama kaçının
Sıralama devralınarak yavaş bir işlemdir ve gereksiz sıralama önleme paketi veri akışı performansını geliştirebilirsiniz.
Bazen kaynak veriler zaten bir aşağı akım bileşeni tarafından kullanılmadan önce sıralanmış. Bu tür pre-sorting veya seçme sorgusunu bir order by yan tümcesi kullanıldığında veri kaynağı sıralanmış düzende takılan oluşabilir. Böyle pre-sorted kaynak verileri için veriler sıralanır ve böylece belirli akış dönüşümleri sıralama gereksinimlerini karşılamak için sıralama dönüşümü kaçının bir ipucu sağlayabilir. (Örneğin, Birleştir ve birleştirme katıl dönüşümleri sıralanmış girdileri gerektirir.) Veriler sıralanır bir ipucu vermek için aşağıdaki görevleri yapmanız gerekir:
Set IsSortedözelliği çıktının bir ters yönde veri akışı bileşeni için True.
Verilerin sıralanma sıralama anahtar sütunları belirtin.
Daha fazla bilgi için, bkz. Birleştir ve birleştirme katıl dönüşümleri için veri sıralama.
Veri akışı verileri sıralamak varsa, birkaç sıralama işlemleri mümkün olduğunca kullanmak için veri akışı tasarlayarak performansını artırabilirsiniz. Örneğin, veri akışı, DataSet'i kopyalamak için bir çok noktaya yayın dönüşümü kullanır. Önce bir kez çok noktaya yayın dönüşümü çalıştıktan sonra dönüşümün birden çok çıkış sıralama yerine, dataset sıralayın.
Daha fazla bilgi için bkz: Sırala dönüşümü, Dönüşümü Birleştir, Birleştirme katıl dönüşümü, ve Çok noktaya yayın dönüşümü.
Kaynaklar
ole db kaynağı
Bir görünümden veri almak için ole db kaynağı kullandığınızda, "sql komut" seçin veri erişim modu ve bir select deyimi girin. Bir select deyimi kullanarak verilere erişme "Tablo ya da Görünüm" seçerek daha iyi yapar veri erişim modu.
Dönüşümleri
Önerileri bu bölümde toplama, belirsiz arama, belirsiz gruplandırma, arama, birleştirme katıl ve yavaş değiştirme boyut dönüşümleri performansını artırmak için kullanın.
Toplu dönüştürme
Toplu dönüştürme içerir Keys, KeysScale, CountDistinctKeys, ve CountDistinctScaleÖzellikler. Bu özellikler, dönüşümü dönüşümü dönüşümü önbelleğe veri için gereken bellek miktarını erişinceye etkinleştirerek performansını artırır. Sonucu beklenen gruplar tam veya yaklaşık sayısını biliyorsanız bir grubu tarafından hizmete, Keysve KeysScaleözellikleri, sırasıyla. Neden beklenen ayrı değerlerinin tam veya yaklaşık sayısını biliyorsanız bir farklıları Say hizmete, CountDistinctKeysve CountDistinctScaleözellikleri, sırasıyla.
Bir veri akışı birden fazla toplamalardan oluşturmak varsa, birden çok dönüşümleri oluşturmak yerine bir toplama dönüşümün kullanan birden fazla toplamalardan oluşturmayı düşünün. Bu yaklaşım, zaman bir toplama bir alt kümesini başka bir toplama dönüşümün dahili depolama optimize etmek ve gelen verileri yalnızca bir kez tarama performansı artırır. Örneğin, bir toplama bir group by yan tümcesi ve avg toplama kullanıyorsa, performans onları birleştiren bir dönüşmesi artırabilir. Ancak, birden fazla toplamalardan içinde bir toplama dönüşümü gerçekleştirme toplama işlemleri serileştirildiğini ve birden fazla toplamalardan bağımsız olarak hesaplanması gereken bu nedenle performansı artırmak değil.
Belirsiz arama ve belirsiz gruplandırma dönüşümleri
Teknik incelemesine bakın.bulanık arama ve belirsiz gruplandırma dönüştürmeleri performansını en iyi duruma getirme hakkında daha fazla bilgi için bkz bakın.bulanık arama ve SQL Server ıntegration Hizmetleri 2005 belirsiz gruplandırma.
Arama dönüşümü
Bellek referans veri boyutu yalnızca ihtiyacınız olan sütunları görünür bir select deyimi girerek en aza indirin. Bu seçenek bir tablonun tümünü veya büyük miktarda gereksiz veri döndüren görünümü seçerek daha iyi bir performans sergiliyor.
Birleştirme katıl dönüşümü
Artık değerini yapılandırmak zorunda MaxBuffersPerInputözelliği Microsoft birleştirme katıl dönüşümü aşırı bellek tüketir riskini azaltmak değişiklikleri yapmış. Bu sorun bazen, birleştirme katıl, birden çok girdi veri dengesiz fiyatlarla üretilen oluştu.
Yavaş boyut dönüşümü değiştirme
Yavaş değiştirme boyut Sihirbazı ve Boyut yavaş değiştirme dönüşümü, çoğu kullanıcının ihtiyaçlarını karşılamak genel amaçlı araçlardır. Ancak, sihirbazın oluşturduğu veri akışı performansını optimize edilmemiştir.
Genelde yavaş boyut yavaş değiştirme dönüşümü içinde ole db komut dönüştürmeleri bir defada tek bir satır karşı güncelleştirmeleri gerçekleştiren bileşenlerdir. Bu nedenle, Boyut yavaş değiştirme dönüşümü performansını artırmak için en etkili yolu ole db komut dönüşümleri değiştirmektir. Bu dönüştürmeler için hazırlama bir tablo için tüm satırların Kaydet hedef bileşenleri ile değiştirebilirsiniz. Daha sonra aynı zamanda karşı tüm satırlar tek kümesi tabanlı bir Transact-sql güncelleştirme gerçekleştiren sql Yürüt görev ekleyebilirsiniz.
İleri düzey kullanıcılar için yavaş değiştirme boyut işleme büyük boyutlar için optimize edilmiş bir özel veri akışı tasarlayabilirsiniz. Bir tartışma ve bu yaklaşım örneği için bkz: bölümünde, "benzersiz boyut senaryo" beyaz kağıt, Proje gerçek: Business ıntelligence etl tasarım uygulamaları.
Hedefleri
İyi performans hedeflerine ulaşmak için kullanmayı düşünün bir SQL Serverhedef ve hedef performans testi.
SQL Server hedef
Bir paket veri örneğine yüklediğinde SQL Serveraynı bilgisayarda kullanmak bir SQL Serverhedef. Bu hedef, yüksek hızlı toplu yükler için optimize edilmiştir.
Hedef performans testleri
Sen-ebilmek bulmak verileri kaydetme hedeflere beklenenden daha fazla zaman alır. Yavaşlık yeterince hızlı veri işleme ve yetersizlik hedef tarafından neden olup olmadığını belirlemek için bir satır sayısı dönüşümü ile hedef geçici olarak değiştirebilirsiniz. Performansı önemli ölçüde artırır, veri yükleme hedef yavaşlama oluyorsa olasıdır.
Paket performansını izleme
Integration ServicesAraçlar ve bir paket performansını izlemek için kullanabileceğiniz özellikler içerir. Örneğin günlük bir paketle ilgili çalışma zamanı bilgileri yakalar ve performans sayaçları veri akışı altyapısı izlemenize olanak sağlar. Aşağıdaki öneriler paketi hangi bölümlerinin performansı üzerinde büyük etkisi olan belirlemek için kullanın.
İlerleme sekmesindeki bilgileri gözden geçirin
SSISTasarımcı sağlar akış denetimi ve veri akışı hakkında bilgi, bir paket çalıştırdığınızda SQL Server Veri Akışı Araçları (SSDT). Devam sekmesi görevler ve containers yürütme sırasına göre listelenir ve başlangıç ve bitiş saatleri, uyarıları ve her görev ve paket dahil konteyner, hata iletilerini içerir. Ayrıca, veri akışı bileşenlerini yürütme sırasına göre listelenir ve devam ediyor, tamamlandı, yüzde olarak görüntülenir ve işlenen satır sayısı hakkında bilgi içerir.
Etkinleştirmek veya iletilerin görüntülenmesini devre dışı bırakmak devam sekmesinde, geçiş Hata ayıklama ilerleme raporlaması Tarih seçeneği SSIS menü. İlerleme raporlaması devre dışı bırakılması yardımcı olabilir karmaşık paket çalışırken performansı SQL Server Veri Akışı Araçları.
Paket günlüğü yapılandırma
Integration Servicesçeşitli paketler farklı dosyaları ya da çalışma zamanında bilgi oturum izin günlüğü sağlayıcıları içerir SQL Server. Günlük girişleri ve görevler ve containers gibi bireysel paket nesneleri paketler için etkinleştirebilirsiniz. Integration Servicesgeniş içeren çeşitli görevler ve kapsayıcılar ve her görev ve konteyner açıklayıcı günlük girdileri kendi kümesi vardır. Örneğin, sql Yürüt görev içeren bir paket görev yürütüldü deyimi parametre değerleri de dahil olmak üzere sql deyimini listeleyen bir günlük girdisi yazabilirsiniz.
Günlük girdilerini Başlat gibi bilgileri içerir ve bitiş zamanlarını paket ve paket nesneleri, yavaş çalışan görevler ve containers tanımlamak mümkün kılar. Daha fazla bilgi için bkz: Logging Package Execution, Implementing Logging in Packages, ve Özel iletileri günlüğe kaydetme.
Veri akışı görevler için günlüğü yapılandırma
Veri akışı görev performansını ayarlamak ve izlemek için kullanılan çok özel günlük girdilerini sağlar. Örneğin, bellek sızıntıları neden veya belirli bir bileşenini çalıştırmak için ne kadar sürede izlemek bileşenleri izleyebilirsiniz. Bu özel günlük girdileri ve örnek günlük çıkış listesi için bkz: Veri akışı görev.
PipelineComponentTime olay kullanın
Belki de en yararlı özel bir günlük girişi PipelineComponentTime olayıdır. Bu günlük girdisi her bileşen veri akışı geçirdiği milisaniye her beş ana işlem adımları raporlar. Aşağıdaki tabloda, bu işlem adımları açıklar. Integration ServicesGeliştiriciler asıl yöntemleri aşağıdaki adımları tanımak a PipelineComponent.
Adım |
Açıklama |
---|---|
Doğrula |
Bileşen geçerli özellik değerleri ve yapılandırma ayarlarını denetler. |
PreExecute |
Bileşen veri satırları işlemeye başlamadan önce bir defalık işleme gerçekleştirir. |
PostExecute |
Bileşen veri tüm satırları işlediği sonra tek seferlik işleme gerçekleştirir. |
ProcessInput |
Dönüşüm veya hedef bileşeni, ters yönde kaynak veya dönüşüm için geçti veri gelen satırları işler. |
PrimeOutput |
Kaynak veya dönüşüm bileşeni bir aşağı akım dönüşüm veya hedef bileşeni geçirilen veri arabellek doldurur. |
PipelineComponentTime olay etkinleştirdiğinizde Integration Servicesher bir bileşen tarafından gerçekleştirilen her işlem adımını bir ileti kaydeder. Bir alt kümesi iletileri aşağıdaki günlük girdisi gösterin Integration ServicesCalculatedColumns paketi örnek günlükleri:
The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.
The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.
The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.
The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.
The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.
The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).
The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).
The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719).
Veri akışı görev azalan sırada burada gösterildiği aşağıdaki adımlar, en çok zaman harcanan bu günlük girdileri göster:
ole db kaynağı "Veri Ayıkla" adlı 688 ms geçirdi. veri yükleniyor.
"LineItemTotalCost hesapla" adlı sütun Derived dönüşümü 356 ms geçirdi. gelen satırlarda hesaplamaları gerçekleştirme.
"Toplam miktarı ve LineItemTotalCost" adlı toplu dönüştürme Toplam 220 ms harcanan — 141 PrimeOutput ve ProcessInput içinde 79 — hesaplamaları gerçekleştirmek ve verileri için sonraki dönüşümü geçirmeden.
Veri akışı altyapısı performansını izlemek
Integration Servicesveri akışı altyapısı performansını izlemek için performans sayaçları kümesi içerir. Örneğin, belleğin bayt tüm tamponları ve bileşenleri, bellek yetersiz olup olmadığını denetleyin, toplam miktarını izleyebilir. Bir arabellek, bir bileşen verilerini depolamak için kullandığı bellek bloğudur. Daha fazla bilgi için, bkz. Monitör veri akışı altyapısı performansını.
ilişkili Görevler
İlişkili İçerik
Makaleler ve Blog Yazıları
Teknik makale, SQL Server 2005 Tümleştirme Hizmetleri: performans için bir strateji, technet.microsoft.com üzerinde
Teknik makale, Tümleştirme Hizmetleri: performans ayarlaması teknikleri, technet.microsoft.com üzerinde
Teknik makale, Artan işlem hacmi, boru bölme içine birden çok görevi eşzamanlı dönüşümleri tarafından, sqlcat.com üzerinde
Teknik makale, Veri yükleme performans Kılavuzu, MSDN.microsoft.com üzerinde.
Teknik makale, We yüklenen 1TB SSIS ve böylece Can ile 30 dakika, MSDN.microsoft.com üzerinde.
Teknik makale, Top 10 SQL Server Tümleştirme Hizmetleri en iyi yöntemleri, sqlcat.com üzerinde.
Teknik makale ve örnek, SSIS "dengeli veri dağıtımcı", sqlcat.com üzerinde.
Blog yazısı, SSIS paketi performans sorunlarını giderme, blogs.MSDN.com üzerinde
Videolar
Video Tuning Your SSIS paketi veri akışı kurumsal (SQL Server Video), technet.microsoft.com üzerinde
Video Anlayış SSIS veri akış arabellek (SQL Server Video), technet.microsoft.com üzerinde
Video Microsoft SQL Server Tümleştirme Hizmetleri performans tasarım desenleri, channel9.MSDN.com üzerinde.
Sunum, nasıl Microsoft O Leverages SQL Server 2008 SSIS Dataflow motoru geliştirmeleri, sqlcat.com üzerinde.
Video Veri Dağıtıcı dengeli, technet.microsoft.com üzerinde.
|
Ayrıca bkz.
Görevler
Paket Development sorun giderme araçları