ایران خودرو و ثبت نام آنلاین نافرجام

تا لحظه نوشته شدن این پست در ۵ نوبت ثبت نام اینترنتی ایران خودرو و ۵ نوبت ثبت نام اینترنتی سایپا شرکت کردم، که تا کنون موفق به ثبت نام در سایپا شدم اما ایران خودرو به هیچ وجه امکان پذیر همچین اقبالی نداشتم. این مسئله من را وا داشت که بررسیهای بیشتری از نظر فنی انجام بدم تا ببینم آیا مسئله عدم امکان ثبت نام همچنان به دلیل هجوم مردم و عدم بهبود زیرساخت وبسایت بوده، یا استفاده از افراد ضعیف و بی کفایت در بخش زیرساخت فناوری اطلاعات و یا اینکه مسئله به طور کلی شیطنت محسوب میشود؟
فرآیند خرید خودرو هیچ سند راهنمایی نداشته، اما نحوه ثبت نام سند راهنما دارد، اما به طور کلی روند خرید خودرو در سامانه اینترنتی ایران خودرو به شکل زیر است:
- ثبت نام و تایید مشخصات کاربری
- ورود به سایت
- ورود به دسته بندی محصولات و انتخاب محصول و بازه زمانی تحویل خودرو
- انتخاب رنگ و تکمیل سایر اطلاعات
- پرداخت و سایر مراحل
روند فوق کاملا منطقی بوده و در ظاهر بی نقص است، احتمالا در شرایط عادی که میزان عرضه از تقاضا بیشتر باشد روند آن معقول خواهد بود.
اما در زمانی که ثبت نامی در تاریخ و ساعت خاصی شروع میشود چه اتفاقی میافتد؟
۱- اگر شما پیش از ساعت مورد نظر در سایت وارد شده باشید، کلیه session ها راس ساعت پاک شده و دوباره مجبور به ورود هستید! اتفاقی عجیب که باعث میشود تا یک درجه روند خرید از وبسایت را سخت نماید.
این اتفاق از آنجا عجیب و غیرمنطقی است که فرض کنید شما در اینستاگرام وارد شده اید و برای ماهها دوباره نام کاربری و پسورد خود را وارد نکردهاید اما رئیس اینستاگرام بگوید روز ولنتاین ساعت ۱۰ صبح همه رو میاندازیم بیرون تا دوباره وارد شوند!
۲- ورود به وبسایت مشکل عجیبی دارد و اگر دقت کنید در هر باید ورود ۲ درخواست ارسال میشود که طبق تصویر مشخص شده است.
- GetInfo
- LoginNew
همانطور که مشخص است برای فرآیند ورود (Login) دو درخواست! ارسال میشود که درخواست اول پاسخ داده شده و درخواست دوم با گذشت ۳۰۰ ثانیه خطای ۵۰۴ دریافت میکند.
حالا با بررسی payload تابع getInfo مشخص است که نام کاربری در مرحله اول وارد شده و تایید میشود و پس از آن رمزعبور و نام کاربری ارسال میشود.
اینکه در اینجا چرا یک بار درخواست به سرور ارسال نشده تا از بار اضافی جلوگیری کند مبحث آن جداست، اما چطور درخواست GetInfo همیشه در کوتاه ترین زمان پاسخ میگیرد و درخواست LoginNew خیر؟ آیا اجرای یک کوئری ساده با SELECT و WHERE (که در تابع قبلی برای صحت کدملی پاسخ داده شده) در تابع دوم اجرا نمیشود؟ یا این تابع با روند دیگری پاسخ میگیرد؟
۳- در مرحله سوم که وضعیت نمایش آیتمهای فروش است نیز هر درخواست نمایش مدت زمان طولانی برای پاسخدهی طی میکند، هرچند که میتوان این مسئله را با caching تا حد زیادی حل نمود، اما این مسئله را نمیتوان لزوما عمدی در نظر گرفت.
۴- در مرحله بعدی که زمان ورود به آیتم فروش است، حالا با یک وضعیت جدیدتر روبرو میشویم!
کلیه درخواستهای سفارش در کمتر از ۱ ثانیه با پیام خطای «تعداد درخواست ها بیش از حد مجاز است» پاسخ دهی میشود. آیا بررسی تعداد درخواستها نیاز به پایگاه داده ندارد؟ و اگر دارد چرا همانند ورود به پنل کاربری ارور ۵۰۴ بازنمیگرداند؟ و جدا از این مسئله، اگر تعداد درخواست ها منظور سشن های ۱۰-۱۵ دقیقهای برای تکمیل خرید کاربر است که این مسئله باید به طور مشخص بیان شود که هر کاربر چند دقیقه زمان دارد و در حال حاضر چند کاربر در این وضعیت هستند و چند کاربر در صف انتظار.
۵- در نهایت با گذشت از هفت خان رستم و انتخاب رنگ و تکمیل اطلاعات با زدن ورود به درگاه پرداخت با ارور درگاه پرداخت بانکی روبرو خواهید شد! که متاسفانه از اسکرین شات گرفتن غافل شدم.
تجربه نوشته شده، صرفا حاصل بررسی و اتفاقی است که برای من در حال حاضر از دی ماه ۹۸ تا اردیبهشت ۹۹ اتفاق افتاده است، قطعا من هم ممکن است اشتباهی در این فرآیند کرده باشم یا نحوه آن به گونهی دیگری باشد، خوشحال خواهم شد تا تجربه سایر افراد را در این زمینه مطلع شوم.
سلام من دیروز از مرحله پرداخت اسکرین شات گرفتم مشکلا تی که گفتین رو داشت اگر نیاز داشتید برایتان ارسال کنم