Linux işletim ve bakım mühendislerinin hakim olması gereken sunucu performans parametreleri

Linux işletim sistemine dayalı bir sunucu çalışırken, çeşitli parametre bilgilerini de karakterize edecektir. Genel olarak konuşursak, işletim ve bakım personeli ve sistem yöneticileri bu verilere son derece duyarlıdır, ancak bu parametreler geliştiriciler için de çok önemlidir, özellikle programınız düzgün çalışmadığında, bu ipuçları genellikle sorunları hızlı bir şekilde bulmaya ve izlemeye yardımcı olur. .

İşte sistemin ilgili parametrelerini görüntülemek için bazı basit araçlar. Tabii ki, birçok araç aynı zamanda verileri / proc ve / sys altında analiz ederek ve işleyerek de çalışır ve daha detaylı ve profesyonel performans izleme ve ayarlama daha profesyonel Araçlar (perf, systemtap, vb.) Ve teknoloji tamamlanabilir. Sonuçta, sistem performansının izlenmesi başlı başına bir üniversite sorunudur.

Bir, CPU ve bellek

1.1 üst

# ~ üst

İlk satırdan sonraki üç değer, önceki 1, 5 ve 15'teki sistemin ortalama yüküdür. Sistem yükünün arttığı, sabitlendiği ve düştüğü de görülebilir. Bu değer CPU çalıştırılabilir birimlerinin sayısını aştığında, CPU anlamına gelir. Performansı doydu ve darboğaz haline geldi.

İkinci satır, sistemin görev durumu bilgilerini sayar. İşlemcide çalışan ve çalışması planlanacak olanlar da dahil olmak üzere çalıştırmak doğal ve söylemeye gerek yok; uyku genellikle bir olayın (IO işlemleri gibi) tamamlanmasını bekleyen bir görevdir ve alt bölüm, kesintiye uğrayabilir ve kesintisiz türleri içerebilir; durdurulanlar bazıları askıya alındı Görev, genellikle SIGSTOP'u gönderir veya bir ön plandaki görevi duraklatmak için Ctrl-Z'yi çalıştırır; zombi zombi görevi, ancak işlem sonlandırma kaynağı otomatik olarak geri dönüştürülecektir, ancak çıkış görevini içeren görev tanımlayıcısına, serbest bırakılmadan önce üst işlem tarafından erişilmesi gerekir. Ana işlemin erken çıkması veya beklemeyi çağırmaması nedeniyle geçersiz bir durum olarak görüntülendiğinde, böyle bir işlem gerçekleştiğinde, programın yanlış tasarlanıp tasarlanmadığına özellikle dikkat etmelisiniz.

Türüne göre, üçüncü satırın CPU kullanımı aşağıdaki durumlara sahiptir:

  • (us) user: CPU'nun düşük nezaket değeri (yüksek öncelikli) kullanıcı modunda (nice < = 0). Normal şartlar altında, sunucu çok boşta olmadığı sürece, CPU zamanının çoğu burada çalıştırılmalıdır.

  • (sy) system: Çekirdek modunda CPU'nun işgal ettiği süre. İşletim sistemi, belirli bir hizmeti yürütmek için bir sistem çağrısı aracılığıyla kullanıcı modundan çekirdek moduna girer; genellikle bu değer nispeten küçüktür, ancak sunucu çalıştırıldığında IO yoğun olduğunda, değer daha büyük olacaktır

  • (ni) nice: Yüksek nezih değerde (düşük öncelikli) kullanıcı modunda (düşük öncelikli) düşük öncelikte çalışan CPU'nun işgal ettiği zaman > 0). Varsayılan olarak, programın güzel değerini renice veya setpriority () ile manuel olarak değiştirmediğiniz sürece, yeni başlatılan nice = 0 işlemi burada sayılmaz.

  • (id) boşta: CPU'nun boşta durumunda harcadığı süre (çekirdek boşta işleyiciyi yürütme)

  • (wa) iowait: IO'nun tamamlanmasını beklemek için geçen süre

  • (merhaba) irq: Sistemin donanım kesintilerini işlemesi için geçen süre

  • (si) softirq: Sistemin yumuşak kesintileri işlemek için harcadığı süre. Yumuşak kesintilerin softirqlere, görevlere (aslında öncekinin özel bir durumu) ve iş kuyruklarına bölündüğünü unutmayın. Burada hangi zamanın sayıldığını bilmiyorum. Sonuçta, iş kuyruklarının yürütülmesi Artık bağlamı kesmiyor

  • (st) çalma: Sanal makine durumunda anlamlıdır, çünkü sanal makinenin altındaki CPU aynı zamanda fiziksel CPU'yu da paylaşır, bu nedenle bu süre sanal makinenin hiper denetleyicinin CPU'yu programlamasını beklediği süreyi gösterir, bu da hipervizörün CPU'yu Diğer CPU'lar çalıştığında, bu dönemdeki CPU kaynakları "çalınır". KVM VPS makinemde bu değer 0 değil, ancak yalnızca 0,1 düzeyinde, VPS aşırı satım durumunu değerlendirmek için kullanılabilir mi?

Çoğu durumda yüksek CPU kullanımı, sunucu CPU kullanımı çok yüksek olduğunda ilgili sorun giderme fikirlerine de işaret eden bir anlama gelir:

  • (a) Kullanıcı doluluk oranı çok yüksek olduğunda, genellikle bazı bireysel işlemler büyük miktarda CPU kullanır. Şu anda programı yukarıdan bulmak kolaydır; şu anda, programın anormal olduğundan şüpheleniyorsanız, performans ve diğer fikirlerle sıcak noktaları bulabilirsiniz. Daha fazla araştırma yapmak için işlevi çağırın;

  • (b) Sistem doluluk oranı çok yüksek olduğunda, daha fazla IO işlemi varsa (terminal IO dahil), dosya sunucusu, veritabanı sunucusu ve diğer sunucu türleri gibi CPU doluluk oranının bu kısmı yüksek olabilir, aksi takdirde (örneğin > % 20) Çekirdeğin ve sürücü modüllerinin bazı kısımlarında problemler olması muhtemeldir;

  • (c) İyi doluluk oranı çok yüksek olduğunda, bu genellikle kasıtlı bir davranıştır.Sürecin başlatıcısı, belirli işlemlerin yüksek bir CPU kullandığını bildiğinde, diğer işlemlerin CPU kullanımı taleplerini bastırmamasını sağlamak için iyi değerini ayarlayacaktır;

  • (d) Iowait doluluk oranı çok yüksek olduğunda, genellikle bazı programların IO işlem verimliliğinin çok düşük olduğu veya IO'ya karşılık gelen cihazın performansının o kadar düşük olduğu anlamına gelir ki okuma ve yazma işlemlerinin tamamlanması uzun zaman alır;

  • (e) irq / softirq doluluk oranı çok yüksek olduğunda, bazı çevre birimlerinde problemler olabilir ve bu da çok sayıda irq isteğine neden olur.Şu anda, sorunu araştırmak için / proc / interrupts dosyasını kontrol edin;

  • (f) Hırsızlık doluluk oranı çok yüksek olduğunda, kara yürekli üreticinin sanal makinesi aşırı satılır!

Dördüncü ve beşinci satırlar, fiziksel bellek ve sanal bellek (takas bölümü) hakkındaki bilgilerdir:

toplam = ücretsiz + kullanılmış + buff / cache, artık tamponlar ve önbelleğe alınmış Mem bilgileri birlikte toplanır, ancak tamponlar ve önbelleğe alınır Mem arasındaki ilişki pek çok yerde net değil. Aslında, verileri karşılaştırarak, bu iki değer / proc / meminfo içindeki Tamponlar ve Önbelleğe Alınmış alanlarıdır: Tamponlar, esas olarak dosya sistemi meta verilerini (süper blok bilgileri, vb.) Ham bloklar biçiminde önbelleğe almak için ham diskler için bir blok önbellektir. , Bu değer genellikle nispeten küçüktür (yaklaşık 20M) ve Önbellek, dosya sisteminde dosya önbelleğe alma için kullanıldığı söylenebilecek dosya erişiminin verimliliğini artırmak için belirli belirli dosyaları okumak ve önbelleğe almak için kullanılır.

Ve boşuna Mem, takas olmadan yeni açılan programlara ne kadar bellek alanı verilebileceğini belirtmek için kullanılan yeni bir parametre değeridir, kabaca free + buff / cached ile eşdeğerdir ve bu aynı zamanda yukarıdaki ifadeyi de doğrular, free + tamponlar + önbelleğe alınmış Mem, gerçek kullanılabilir fiziksel bellektir. Dahası, takas bölümlerinin kullanılması kötü bir şey değildir, bu nedenle takas bölümü kullanımı ciddi bir parametre değildir, ancak sık sık takas girişi / çıkışı iyi bir şey değildir Bu durum dikkat gerektirir ve genellikle fiziksel belleğin kıt olduğu anlamına gelir.

Sonuncusu, her programın kaynak doluluk listesidir; burada CPU kullanımı, tüm CPU çekirdek kullanımının toplamıdır. Genellikle top çalıştırılırken, programın kendisi çok sayıda / proc işlemini okuyacaktır, bu nedenle temelde en iyi programın kendisi en iyiler arasında olacaktır. Top çok güçlü olmasına rağmen genellikle konsolda sistem bilgilerini gerçek zamanlı olarak izlemek için kullanılır.Sistemin yük bilgilerini uzun süre (günler veya aylar) izlemek için uygun değildir.Aynı zamanda kısa ömürlü süreçler de ıskalayacak ve istatistik veremeyecektir.

1.2 vmstat

Vmstat, top dışında yaygın olarak kullanılan bir başka sistem algılama aracıdır.Aşağıdaki ekran görüntüsü, -j4 ile boost derlediğimde sistem yükünü göstermektedir.

r çalıştırılabilir işlemlerin sayısını temsil eder ve veriler kabaca eşleşir; ve b, kesintisiz uyku işlemlerinin sayısını temsil eder; swpd, kullanılan sanal bellek sayısını temsil eder ve bu, üstte kullanılan Swap değeriyle aynı anlama gelir ve kılavuzda da belirtildiği gibi, genellikle Bu durumda, arabellek sayısı önbelleğe alınmış Mem'ninkinden çok daha azdır.Tamponlar genellikle 20M düzenindedir; io alanındaki bi ve bo, alınan ve diske saniyede gönderilen blok sayısını (bloklar / s) gösterir; sistem alanındaki in saniye başına gösterir Saatin sistem kesintilerinin sayısı (saat kesintileri dahil), cs, işlem anahtarlamasından kaynaklanan bağlam anahtarlarının sayısını gösterir.

Bunu söyledikten sonra, sanırım birçok insan daha önce linux çekirdeğini derlemek için mücadele ettiğinde, -j parametresi CPU Core mu yoksa CPU Core + 1 mi? Yükseltme ve linux çekirdeğini derlemek için yukarıdaki -j parametresinin değerini değiştirirken vmstat izlemeyi etkinleştirerek, bağlam anahtarının iki durumda temelde değişmediği ve bağlam anahtarının yalnızca -j değeri önemli ölçüde artırıldıktan sonra önemli ölçüde artacağı bulundu. Gereksiz görünüyor. Belirli derleme zamanını test etmemiş olmama rağmen, bu parametreyle çok fazla karıştım. Verilere göre, sistem başlatma veya kıyaslama durumunda değilse, parametre bağlam anahtarı > 100.000 programıyla ilgili bir sorun olmalı.

1.3 pidstat

Bir süreci kapsamlı ve spesifik bir şekilde izlemek istiyorsanız, pidstat-yığın alanı, sayfa hataları, aktif ve pasif geçişten daha uygun bir şey yoktur ve diğer bilgiler bir bakışta görülebilir. Bu komutun en kullanışlı parametresi, işlemdeki her iş parçacığının ayrıntılı bilgilerini listeleyen -t'dir.

-r: Sayfa hatalarını ve bellek kullanımını görüntüleyin. Sayfa hatası, sanal bellek alanında eşlenmiş bir sayfaya erişmesi gereken ancak henüz fiziksel belleğe yüklenmemiş bir programdır. İki ana sayfa hatası türü şunlardır:

(a). Minflt / s, erişilmesi gereken fiziksel sayfanın bazı nedenlerle (paylaşılan sayfalar, önbelleğe alma mekanizması vb.) halihazırda fiziksel bellekte mevcut olması, ancak mevcut sürecin sayfa tablosunda referans alınmaması durumunda küçük hataları ifade eder. Bu durumda, MMU'nun yalnızca ilgili girişi ayarlaması gerekir ve maliyet oldukça düşüktür;

(b). Majflt / s, büyük hatalara (sabit sayfa hatası) atıfta bulunur, MMU'nun şu anda mevcut fiziksel bellekte boş bir fiziksel sayfa için başvurması gerekir (boş sayfa yoksa, yer değiştirmek için diğer fiziksel sayfaları değiştirmeniz gerekir. Ücretsiz fiziksel sayfayı serbest bırakmak için) ve ardından harici düşük hızlı aygıttan fiziksel sayfaya veri yükleyin ve ilgili girişi ayarlayın. Bu maliyet oldukça yüksektir ve birincisi ile birkaç veri düzeyi farkı vardır; eğer daha fazla olursa Büyük hatalar, takas bölümü performansı artırmak için yüksek hızlı aygıtlar (PCI-E SSD gibi) üzerine kurulabilse de, temelde size fiziksel belleğinizin yetersiz olduğunu hatırlatır;

(c) Bazı kişilerin de buna atfettiği başka bir durum daha var, yani sürecin erişmek istediği adresin sınır dışı erişim olan sanal alanında olmadığına işaret eden geçersiz hata. Bu ciddi bir hatadır, genellikle bir bölümleme hatası rapor edilir ve programın yürütülmesi sonlandırılır.

-s: StkSize tarafından iş parçacıkları için ayrılmış yığın alanı ve StkRef tarafından gerçekten kullanılan yığın alanı dahil olmak üzere yığın kullanım durumu. CentOS 6.x'teki varsayılan yığın alanının 10240K, CentOS 7.x ve Ubuntu serileri için varsayılan yığın alanının 8196K olduğunu bulmak için ulimit -s kullanın.

-u: CPU kullanımı, parametreler öncekine benzer -w: İş parçacığı bağlam anahtarlarının sayısı, kaynakları ve diğer faktörleri beklemekten kaynaklanan cswch / s etkin anahtarlamasına ve nvcswch / s iş parçacığı CPU süresinin neden olduğu pasif anahtarlama istatistiklerine de bölünür. Her seferinde ps programın pid'ini aldıktan sonra pidstat'ı çalıştırmak çok zahmetli olacaktır, bu yüzden bu katil -C belirli bir dizge belirtebilir ve sonra bu dizge Komuta dahil edilirse, programın bilgileri yazdırılacaktır. İstatistiklere göre, -l tam program adını ve parametrelerini görüntüleyebilir

# ~ pidstat -w -t -C "ailaw" -l Bu şekilde, tek bir göreve, özellikle çok iş parçacıklı bir göreve bakarsanız, pidstat yaygın olarak kullanılan ps'den daha iyidir!

1.4 Diğer

Tek bir CPU'yu ayrı ayrı izlemeniz gerektiğinde, SMP işlemcisindeki her Çekirdeğin iş yükünün dengeli olup olmadığını ve bazı sıcak iş parçacıklarının Çekirdeği işgal edip etmediğini kontrol etmek için htop'a ek olarak mpstat'ı kullanabilirsiniz. Linux'ta, daha sonra çalıştırılacak komutların CPU benzeşimini ayarlayabilen bir tasket aracı da vardır. ~ mpstat -P TÜMÜ 1 Bir süreç tarafından kullanılan kaynakları doğrudan izlemek istiyorsanız, aşağıdakilerden birini kullanabilirsiniz: top -u taozj Kullanıcıyla ilgisiz diğer işlemleri filtrelemenin yolu, aşağıdaki yolu da seçebilirsiniz, ps komutu yazdırılması gereken giriş bilgilerini özelleştirebilir:

1

süre :; yapmak ps -eo kullanıcısı, pid, ni, pri, pcpu, psr, comm | grep "Ailawd" 1 uyku; bitti

Kalıtım ilişkisini açıklığa kavuşturmak isterseniz, işlem ağacı yapısını görüntülemek için aşağıdaki yaygın olarak kullanılan parametre kullanılabilir, görüntüleme efekti pstree'den çok daha ayrıntılı ve güzeldir. # ~ ps axjf

İki, disk GÇ kategorisi

iotop, her işlemin ve iş parçacığının gerçek zamanlı disk okuma hızını sezgisel olarak görüntüleyebilir; lsof, yalnızca sıradan dosyaların açık bilgilerini (kullanıcı) göstermekle kalmaz, aynı zamanda / dev / sda1 gibi aygıt dosyalarının açık bilgilerini de çalıştırabilir. Umount olduğunda, disk bölümünün kullanım durumunu lsof aracılığıyla öğrenebilirsiniz ve + fg parametresini eklemek ek olarak dosya açık bayrağını görüntüleyebilir.

2.1 iostat

# ~ iostat -xz 1

Aslında ne olursa olsun iostat -xz 1 Hala kullan sar -d 1 , Disk için önemli parametreler şunlardır:

avgqu-sz: Değer ise tek bir disk için aygıt G / Ç isteğine gönderilen bekleme kuyruğunun ortalama uzunluğu > 1, birden çok disk dizisinin mantıksal diskleri dışında aygıtın doygun olduğunu belirtir;

await (r_await, w_await): İsteğin kuyruğa alındığı ve sunulduğu sürenin toplamı dahil olmak üzere, her bir aygıt G / Ç isteği işlemi için ortalama bekleme süresi (ms);

svctm: Cihaza gönderilen G / Ç isteklerinin ortalama hizmet süresi (ms ).Svctm beklemeye çok yakınsa, neredeyse hiç G / Ç bekleme olmadığı ve disk performansının iyi olduğu anlamına gelir.Aksi takdirde, disk kuyruğu bekleme süresi daha uzun ve disk yanıtı zayıftır;

Kullanım yüzdesi: Saniyedeki G / Ç çalışma süresinin yüzdesini gösteren cihazın kullanım oranı.% kullanım olarak tek bir disk kullanılır > Performans% 60 oranında azalacak (bekleme durumuna yansıyan da artacaktır),% 100'e yaklaştığında, birden çok disk dizisine sahip mantıksal diskler dışında ekipman doygun hale gelecektir;

Ayrıca, izlenen disk performansı görece zayıf olsa da, uygulamanın yanıtını etkilemeyebilir Çekirdek genellikle G / Ç eşzamansız teknolojisini kullanır ve performansı artırmak için okuma-yazma önbelleğe alma teknolojisini kullanır, ancak bu, yukarıdaki fiziksel belleğe ilavedir. Kısıtlamalar sınırlandırılmıştır.

Yukarıdaki parametreler ağ dosya sistemlerine de uygulanabilir.

Üç, ağ

Ağ performansının sunucu için önemi açıktır .. iptraf aracı, nispeten basit ve geçişi kolay olan ağ kartının gönderme ve alma hız bilgilerini sezgisel olarak görüntüleyebilir. sar -n DEV 1 Benzer verim bilgileri de elde edilebilir ve ağ kartları, 100M ağ kartı ve Gigabit ağ kartı gibi standart maksimum hız bilgileriyle donatılmıştır.Ekipmanın kullanımını kontrol etmek kolaydır.

Genel olarak, ağ kartının aktarım hızı, ağ geliştirmede en çok ilgili olanı değildir, ancak belirli UDP, TCP bağlantı paket kaybı oranı, yeniden iletim hızı ve ağ gecikme bilgisi için geçerlidir.

3.1 netstat

# ~ netstat -s Sistem başlatıldığından beri her protokolün genel veri bilgilerini görüntüleyin. Parametre bilgileri zengin ve yararlı olsa da, kümülatif değer, iki çalışma farklı olmadığı sürece yalnızca mevcut sistem ağ durumu bilgilerini alabilir veya değer değişim eğilimini görselleştirmek için saat gözünü kullanabilir. Dolayısıyla netstat genellikle bağlantı noktası ve bağlantı bilgilerini algılamak için kullanılır:

netstat all (a) nümerik (n) tcp (t) udp (u) timers (o) ddinleme (l) program (p)

-Zamanlayıcılar alan adı ters aramasını iptal edebilir ve görüntüleme hızını hızlandırabilir; daha sık kullanılanlar

1

2

~ netstat -antp # Tüm TCP bağlantılarını listeleyin

~ netstat -nltp # Tüm yerel TCP dinleme soketlerini listeleyin, -a parametresini eklemeyin

3.2 sar

Sar aracı çok güçlü. CPU, disk, sayfa değiş tokuşu ile ilgili her şeyi halleder. Burada -n kullanımı, çeşitli NFS, IP, ICMP, SOCK vb. Düzeylerini alt bölümlere ayırmasına rağmen, esas olarak ağ etkinliklerini analiz etmek için kullanılır. Bu protokolün veri bilgileri için sadece TCP ve UDP'yi önemsiyoruz. Normal koşullar altında segmentlerin ve datagramların iletim ve alımını görüntülemeye ek olarak, aşağıdaki komutlar ayrıca şunları da içerir:

TCP # ~ sudo sar -n TCP, ETCP 1

etkin / s: connect () aracılığıyla yerel olarak başlatılan TCP bağlantısı, TCP'nin durumu KAPALI'dan değişir > SYN-SENT pasif / s: uzaktan başlatılan TCP bağlantısı, örneğin accept () aracılığıyla, TCP durumu LISTEN'den gelir- > SYN-RCVD retrans / s (tcpRetransSegs): Saniyedeki TCP yeniden iletim sayısı, genellikle düşük ağ kalitesi veya sunucu aşırı yüklendikten sonra paket kaybı olması durumunda, yeniden iletimler, TCP onayı yeniden iletim mekanizmasına göre gerçekleşir isegerr / s (tcpInErrs): Her saniye hata paketi alır (sağlama toplamı hatası gibi)

UDP # ~ sudo sar -n UDP 1 noport / s (udpNoPorts): Saniyede alınan datagram sayısı, ancak belirtilen hedef bağlantı noktasında uygulama yok idgmerr / s (udpInErrors): Bu makine tarafından alınan ancak yukarıdaki nedenler dışında teslim edilemeyen datagram sayısı Elbette, bu veriler ağın güvenilirliğini bir dereceye kadar açıklayabilir, ancak yalnızca belirli iş talebi senaryoları ile birleştirildiğinde anlamlıdır.

3.3 tcpdump

Tcpdump'ın iyi bir şey olduğunu söylemeliyim. Yerel hata ayıklama için wireshark'ı kullanmayı sevdiğimi herkes bilir, ancak çevrimiçi sunucuda bir sorun varsa ne yapabilirim? Ekteki referans şu fikri verir: ortamı geri yükleyin ve paketleri yakalamak için tcpdump kullanın. Önceki sorun tekrarlandığında (örneğin, günlük görüntüsünü veya belirli bir durumu gözlemleyerek), paket yakalama sonlandırılabilir. Ve tcpdump'ın kendisi, yakalanan paket depolama dosyasının boyutunu sınırlayabilen -C / -W parametresine sahiptir.Bu sınıra ulaşıldığında, kaydedilen paket verileri otomatik olarak döndürülür, böylece yakalanan paketlerin sayısı genellikle kontrol edilebilir. Bundan sonra, çevrimiçi veri paketini çevrimdışına alın ve ne istediğinizi görmek için wireshark'ı kullanın. Bu eğlenceli değil! Tcpdump bir GUI arabirimine sahip olmasa da, paketleri yakalama işlevi hiç zayıf değildir Çevrimiçi sunucuların trafiği çok büyük olabilir, ancak ağ kartı, ana bilgisayar, bağlantı noktası ve protokol gibi çeşitli filtreleme parametrelerini belirterek, yakalanan paketler eksiksiz ve zaman alıcıdır. Damgalama, spekülasyon için zaman noktalarını birleştirerek şüpheli veri paketlerinin aralığını büyük ölçüde azaltabilir, böylece çevrimiçi programların veri paketi analizi bu kadar basit olabilir.

Aşağıdaki küçük bir testtir: Chrome başladığında, Web sunucusuna üç bağlantının otomatik olarak başlatıldığı görülebilir. Burada dst port parametresi sınırlı olduğundan, sunucunun yanıt paketi filtrelenir. Al ve wireshark ile aç, SYNC ve ACK bağlı. Süreç hala açık! Tcpdump kullanırken, yakalama filtresi koşullarını olabildiğince yapılandırmanız gerekir.Bir yandan sonraki analiz için uygundur, diğer yandan tcpdump açıldıktan sonra ağ kartının ve sistemin performansını etkileyerek çevrimiçi hizmetlerin performansını etkileyecektir.

CVPR 2018 Özet: İkinci Bölüm
önceki
ChinaJoy'un Showgirl sevimli skr kişisi, bu "takım elbise haydutu" beklenmedik bir şekilde dikkatleri çekti ve popüler oldu!
Sonraki
Milli Eğitim Bakanlığı: 2017 derece özel değerlendirmesinin sonuçları açıklandı, düzeltme için 7 son tarih
ZTE Tianji Axon10 Pro gerçek makine başlamak için, Huawei P30 da böyle mi görünüyor?
Milli Eğitim Bakanlığı çocukların üzerindeki yükü azaltmak için harekete geçti, ancak bazı ebeveynler mutlu değil ...
2018-2019'da Çin'in doğrudan satış bankalarının zorlukları, zorlukları ve atılımları
LOL: Yolda bir avantaj elde ettikten sonra mantıksız olan kahramanlar, kan almalarına izin vermezler.
Bugün WESG'nin üçüncü günü, program burada
Ev sekreterinin deneme notları: 360 S7 süpürme robotu güzel kokuyor mu?
Öğretmen tedavisi, çifte birinci sınıf yetenek tanıtımı ... Bu senenin iki seansı, en sıcak eğitim önerileri, sesler burada
CVPR 2018 Özet: Birinci Bölüm
Panik! Supreme x Nike SB yepyeni ortak Air Force 2 resmi olarak yayınlandı!
En iyi beş açık kaynaklı java performans izleme aracı
BMW 1 Serisi sedan 118i yaşam testi hakkında daha fazla bilgi edinin
To Top