Kesalahan Blob Penyimpanan Azure - AnonymousClientOtherError dan AnonymousNetworkError

Saya memiliki aplikasi seluler dan saya memasukkan gambar ke Azure Storage Blob. ketika diuji oleh beberapa orang kami sendiri (pada pengujian dan beta), semuanya baik-baik saja. Namun ketika kami merilisnya ke versi beta dan memiliki ratusan (mungkin di atas seribu) pengguna untuk menggunakannya, banyak dari mereka melaporkan bahwa mereka tidak dapat melihat gambar. Ini terjadi di iPhone mereka dan juga di banyak merek ponsel Android berbeda. Terkadang, untuk gambar yang sama, di satu ponsel bagus, tetapi di ponsel lain tidak muncul.

Saat saya memeriksa log blob, saya melihat banyak kesalahan, terutama dua kesalahan berikut:

  1. AnonymousClientOtherError; 304

"Permintaan anonim yang gagal seperti yang diharapkan, paling sering merupakan permintaan yang gagal dalam prasyarat tertentu. Jumlah total permintaan anonim yang gagal dalam pemeriksaan prasyarat (seperti Jika-Dimodifikasi, dll.) untuk permintaan GET. Contoh: Permintaan GET bersyarat yang gagal dalam pemeriksaan. " (Dari Microsoft)

  1. AnonymousNetworkError; 200

"Penyebab paling umum dari kesalahan ini adalah pemutusan sambungan klien sebelum batas waktu berakhir di layanan penyimpanan. Anda harus menyelidiki kode di klien Anda untuk memahami mengapa dan kapan klien terputus dari layanan penyimpanan. Anda juga dapat menggunakan Wireshark, Microsoft Message Analyzer, atau Tcping untuk menyelidiki masalah konektivitas jaringan dari klien." (Dari Microsoft) - pertanyaannya di sini, ini adalah kesalahan, tetapi mengapa 200?

Saya ingin tahu apakah ini alasan yang menyebabkan masalah saya?

Untuk yang pertama menurut pemahaman saya sebenarnya bukan error, hanya saja versi yang di-cache klien sama dengan versi server. Tetapi ketika sisi klien saya melihat respons ini, ia menganggapnya sebagai kesalahan dan memberikan pengecualian sehingga tidak ada gambar yang ditampilkan? (Saya sebenarnya mengalihdayakan sisi klien saya, jadi saya hanya bisa menebak)

Untuk yang kedua, apakah karena waktu tunggu sisi klien saya lebih pendek daripada waktu tunggu sisi server? Tetapi apakah batas waktu tersebut merupakan batas waktu koneksi atau batas waktu soket? apa nilai default di sisi klien dan di Azure Blob?

Server Azure saya berlokasi di Asia Timur (Hongkong), tetapi pengguna saya berada di daratan Tiongkok. Saya ingin tahu apakah itu dapat menimbulkan masalah? Namun ketika beberapa pengguna mengujinya di China, semuanya baik-baik saja.

Banyak gambar yang sebenarnya berukuran sangat kecil, hanya satu hingga dua ratus ribu. Beberapa hanya 11k.

Saya tidak tahu apa alasannya...


person martial    schedule 10.02.2015    source sumber


Jawaban (1)


Apakah gambar-gambar ini dapat diakses publik? Jika ya, kami menyarankan untuk menggunakan CDN untuk melayani blob di Azure karena saat Anda menskalakan jumlah konsumen, Anda mungkin mencapai batas pembatasan pada satu gambar populer.

Selain itu, sebaiknya pastikan tidak ada masalah jaringan antara aplikasi Anda dan penyimpanan Azure, yang dapat menyebabkan klien pengguna akhir Anda terputus sebelum batas waktu habis di layanan penyimpanan. Langkah pertama adalah menggunakan Wireshark atau Microsoft Message Analyzer untuk menyelidiki masalah konektivitas jaringan. Silakan ikuti “Menggunakan Wireshark untuk menangkap lalu lintas jaringan” (http://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting/) di lampiran Pantau, diagnosis, dan pecahkan masalah penyimpanan Microsoft Azure untuk menentukan penyebab masalah oleh penurunan jaringan.

person Aung Oo - MSFT    schedule 05.03.2015