محتوای آموزشی وبلاگ نتآرام
یک مشتری میگوید فایل از سایت شما خیلی کند دانلود میشود، اما شما همان لینک را سریع دریافت میکنید. نتیجه یک آزمایش به تنهایی مشخص نمیکند کدام بخش مشکل دارد: کیفیت وایفای، شلوغی مسیر اینترنت، محل CDN، فایل یا محدودیت سمت سرور همگی ممکناند نقش داشته باشند.
هدف این است که با چند آزمایش کوچک، تفاوت را قابل تکرار کنیم و بر اساس نتیجه راه مناسب را انتخاب کنیم. لازم نیست فایل حجیم مشتری را چند بار دانلود کنید یا بررسی امنیت اتصال را خاموش کنید.
۱. یک فایل کنترل ثابت بسازید
یک فایل عمومی و غیرحساس حدود ۱۰ تا ۲۰ مگابایت در هاست قرار دهید که در طول آزمایش تغییر نکند. نام و اندازه بایتی آن را ثبت کنید. اگر CDN دارید مشخص کنید لینک آزمایش از همان مسیری میگذرد که کاربران واقعی استفاده میکنند. از لینک دارای توکن، فایل خصوصی و نمونهای که قرار است هنگام آزمایش جایگزین شود استفاده نکنید.
از کاربر بخواهید زمان تقریبی، اپراتور یا شبکه، نوع اتصال وایفای یا کابل، و اینکه فایلهای دیگر نیز کند هستند را بگوید. برای حفظ حریم خصوصی لازم نیست رمز، کوکی مرورگر یا نشانی کامل لینک خصوصی را ارسال کند.
۲. سرعت را روی دو شبکه به یک روش بسنجید
در ترمینال لینوکس یا مک، نشانی زیر را با نشانی فایل کنترل خودتان عوض کنید:
کد / دستورcurl --location --max-redirs 5 --max-time 120 \
--output /dev/null \
--write-out 'HTTP %{http_code} / bytes %{size_download} / seconds %{time_total} / bytes_per_sec %{speed_download}\n' \
'https://example.com/test-20m.bin'
دستور فایل را دریافت میکند اما خروجی آن را روی دیسک نگه نمیدارد.
speed_download میانگین بایت بر ثانیه و time_total زمان کل است. ابتدا مطمئن شوید وضعیت نهایی 200 است و تعداد بایتها با فایل کنترل سازگار است؛ دریافت سریع یک صفحه خطا سرعت دانلود فایل را نشان نمیدهد. اگر فرمان به محدودیت ۱۲۰ ثانیه رسید، نتیجه را «ناتمام» ثبت کنید نه سرعت موفق.همین آزمون را دو یا سه بار با فاصله کوتاه از شبکه مشکلدار و شبکه دوم انجام دهید؛ ترجیحاً هر دو در زمان نزدیک، بدون دانلودهای دیگر و VPN ناخواسته. برای ویندوز میتوانید از
curl.exe در PowerShell استفاده کنید و به جای /dev/null مقصد خروجی NUL را در محیطی که آن را پشتیبانی میکند به کار ببرید؛ برای پرهیز از تفاوت shell، روش سادهتر ذخیره در یک فایل آزمایشی با --output test.bin است. مراقب باشید فایل موجود با همین نام بازنویسی نشود.۳. نتیجهها را کنار هم قرار دهید
اگر هر دو شبکه برای همان فایل و در چند نوبت کندند، بار سرور، محدودیت سرعت حساب، ظرفیت خروجی، دیسک و پاسخ CDN را با مدیر بررسی کنید. یک فایل دیگر روی همان سرویس را هم با همان روش آزمایش کنید: اگر فقط یک فایل کند است، تفاوت محل ذخیره، اندازه، کش و نوع پاسخ آن سرنخ میدهد.
اگر شبکه دوم پیوسته سریع است اما شبکه اول همواره کند، از کاربر بخواهید همان دستگاه را با اتصال سیمی یا اینترنت همراه دیگر امتحان کند. بهترشدن با کابل، مشکل را به وایفای یا شبکه محلی نزدیکتر میکند. بهترشدن با اپراتور دیگر، سرنخی درباره مسیر یا شبکه است، اما ثابت نمیکند کدام شرکت مقصر است.
اگر فقط نخستین بار کند و دفعات بعد سریع است، ممکن است فایل ابتدا از مبدأ به کش CDN رسیده باشد؛ محل و سیاست کش را با هدرها و پنل همان ارائهدهنده بررسی کنید. اگر سرعت در ساعتهای خاصی افت میکند، نتایج را با تاریخ و ساعت تکرار کنید تا تفاوت لحظهای با الگوی پایدار اشتباه نشود.
۴. برای مشکل پایدار چه کار کنیم؟
برای وایفای ضعیف، ابتدا نزدیک مودم یا با کابل تست و مصرف همزمان دستگاهها را کم کنید. اگر محدودیت سرویس تأیید شد، تنظیم سرعت یا ظرفیت مرتبط را متناسب با قرارداد اصلاح کنید. اگر مسیر خاصی کند است، گزارش اندازه، ساعت، دو شبکه و نشانی عمومی فایل کنترل را به ارائهدهنده اتصال یا هاست بدهید تا از هر دو سمت بررسی کنند.
گزارش
traceroute یا mtr میتواند مسیر را توضیح دهد، اما ازدسترفتن پاسخ در یک روتر میانی به تنهایی ثابت نمیکند بستههای مقصد هم از دست میروند؛ برخی روترها پاسخ تشخیصی را محدود میکنند. نتایج مقصد و رفتار واقعی دانلود را با هم ببینید و از اجرای آزمون سنگین یا پیوسته روی سرور دیگران خودداری کنید.۵. پس از تغییر دوباره اندازه بگیرید
همان فایل، همان شبکهها و همان تعداد تکرار را بعد از اصلاح استفاده کنید و وضعیت HTTP و بایت دریافتشده را هم ثبت کنید. اگر هنوز فقط فایل اصلی مشکل دارد، راهنمای تشخیص پاسخ ناقص را برای مقایسه محتوا و اندازه بخوانید.
برای جزئیات سرویس هاست دانلود نتآرام و تعریف خروجی زمان و سرعت در مستندات curl را ببینید.
برچسبها:
اشتراکگذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
