چرا وب سایت ها کند می شوند؟
چرا سرعت وب سایت، یک ویژگی لوکس نیست؟
تصور کنید وارد یک فروشگاه بزرگ شده اید. به محض اینکه پا به داخل می گذارید، یک دیوار آجری بلند جلوی شماست. منتظر می مانید تا کسی بیاید و آن دیوار را بردارد. یک ثانیه، دو ثانیه، سه ثانیه... در ثانیه ی پنجم، صبر شما تمام می شود. برمی گردید و از آن فروشگاه خارج می شوید تا به مغازه ی بغلی بروید که در آن بلافاصله برایتان باز شد.
این، دنیای وب است.
در فضای آنلاین، «سرعت» تنها یک شاخص فنی نیست؛ سرعت، احترام به زمان مخاطب است. در تمام سال های حضورم در صنعت نرم افزار، پروژه هایی را دیده ام که ایده هایی ناب و محصولاتی بی نظیر داشتند، اما در نهایت شکست خوردند. نه به خاطر اینکه محصولشان بد بود، بلکه به این خاطر که ویترین دیجیتالی آن ها آن قدر کند بود که مشتری، فرصت نکرد حتی محصول را ببیند.
خیلی ها فکر می کنند کندی سایت فقط یک مشکل فنی ساده است که با خریدن یک هاست گران تر حل می شود. اما حقیقت این است که سرعت، ریشه در «مهندسی زیربنایی» دارد. وب سایت شما، درست مثل یک ساختمان است. اگر خشت اول را روی خاک سست یا با طراحی اشتباه بگذارید، هر چقدر هم تزئینات (افزونه ها و قالب های زیبا) به آن اضافه کنید، ساختمان در اولین فشار ترافیک کاربران، ترک برمی دارد.
در این مقاله، قصد دارم بدون استفاده از اصطلاحات پیچیده ی آکادمیک، پرده از راز کندی سایت ها بردارم و به شما نشان دهم که چرا بسیاری از کسب وکارهای نوپا، قبل از اینکه طعم واقعی موفقیت را بچشند، به دلیل «مرگ زیرساختی» از نفس می افتند.
کالبدشکافی یک وب سایت؛ در آن ۳ ثانیه طلایی چه می گذرد؟
برای اینکه بفهمیم چرا سایت ها کند می شوند، اول باید ببینیم وقتی شما آدرس سایتی را در مرورگر تایپ می کنید، چه اتفاقی می افتد. مردم فکر می کنند سایت ها مثل یک فایل عکس ثابت هستند که یک باره ظاهر می شوند. اما واقعیت، یک "سفر پرحادثه" است.
وقتی روی لینک کلیک می کنید، یک پیام کوچک به سرور سایت ارسال می شود: «لطفا محتوا را به من نشان بده». سرور شروع می کند به دویدن:
- پردازش منطق: سرور باید از دیتابیس بپرسد چه چیزی را باید نشان دهد.
- استخراج داده: دیتابیس باید در میان میلیون ها سطر اطلاعات بگردد تا داده ی درست را پیدا کند.
- ترجمه به HTML: سرور تمام این اطلاعات را می گیرد و به زبان قابل فهم مرورگر تبدیل می کند.
- ارسال: تمام این بسته محتوایی از طریق سیم های اینترنت به دستگاه شما برمی گردد.
حالا کجاها ممکن است گیر کند؟
- وقتی سرور مثل یک آشپز گیج است: اگر کدهای سایت شما بهینه نباشد (یعنی "منطق پردازش" ضعیف باشد)، سرور باید صدها بار برای یک درخواست ساده، فکر کند.
- وقتی دیتابیس مثل یک انبار نامنظم است: اگر کوئری های دیتابیس شما مهندسی نشده باشد، دیتابیس باید تمام قفسه های انبار را بگردد تا یک کالا پیدا کند. این یعنی ثانیه ها وقت ارزشمند کاربر که سوخت می شود.
- وقتی حجم فایل ها مثل چمدان سنگین است: اگر عکس ها یا کدهای سایت فشرده نشده باشند، درست مثل این است که بخواهید یک کامیون بار را از یک در کوچک عبور دهید.
این ۳ ثانیه، میدان نبرد شماست. اگر پیروز شوید، مخاطب به مشتری تبدیل می شود. اگر شکست بخورید، او به سراغ رقیب شما می رود که شاید محصولش بدتر باشد، اما سایتش «سریع تر» است.
در ادامه، می خواهم شما را به پشت صحنه ی تفاوت فاحش بین یک سایت "آماتور" و یک سیستم "مهندسی شده" ببرم. جایی که تفاوت بین استفاده از کدهای کپی پیستی و معماری استاندارد مشخص می شود.
بسیار عالی، خوشحالم که با این لحن و مسیر ارتباط برقرار کردید. بیایید عمیق تر شویم.
تله ی "سادگی فریبنده"؛ چرا سیستم های آماده، ترمز رشد هستند؟
وقتی صحبت از شروع یک کسب وکار آنلاین می شود، اولین چیزی که به ذهن می رسد این است: «سریع و ارزان شروع کنم». سیستم های آماده (مثل وردپرس یا فروشگاه سازهای اشتراکی) دقیقا همین وعده را می دهند. آن ها مثل خانه های پیش ساخته هستند؛ در عرض چند ساعت می توانید وسایل تان را در آن ها بچینید. اما مشکل کجاست؟
در تمام سال های فعالیتم در این حوزه، همیشه یک الگوی تکراری را دیده ام: سایت در ماه های اول عالی کار می کند. چون تعداد کاربران کم است و دیتابیس شما خلوت است. اما به محض اینکه فروش شما بالا می رود یا ترافیک سایت کمی از حد معمول فراتر می رود، «ترک ها» ظاهر می شوند.
ادامه مقاله در