چطور عملکرد سرور را بهینه کنیم

یکشنبه 5 اردیبهشت 1400

بهینه سازی عملکرد سرور در پشتیبانی از نیازهای کاربر نهایی مهم است. با استفاده از بهینه سازی سرور می‌تواند فعالانه بر این موارد نظارت داشت: دسترسی پذیری، عملیات سرور، کارایی، امنیت و موارد دیگر.

چطور عملکرد سرور را بهینه کنیم

نظارت و بهینه سازی وب سرور به شما کمک می‌کند هر جا که تنگنایی به وجود می‌آید آن‌ها را عیب‌یابی کرده و عملکرد سرور را بهینه کنید.

در این مقاله، ما در مورد نحوه بهینه سازی عملکرد و دلیل مهم بودن آن صحبت خواهیم کرد.

بهینه سازی سرور چیست؟

بهینه سازی وب سرور یک فرآیند فنی خاص است که برای بهبود کارایی پردازش داده ها و کانفیگ برنامه در کنار عملکرد کلی استفاده می‌شود.

بهترین روش های بهینه سازی سرور شامل تثبیت سخت افزار فیزیکی داخل مرکز داده با روش مجازی سازی سرور است.

بهینه سازی ویندوز سرور لازم است زیرا یک شرکت برای رشد تجارت خود به دسترسی پذیری و عملکرد رابط کاربری آن بستگی دارد.

چرا بهینه سازی لازم است؟

بهینه سازی وب سرور امکان بهبود عملکرد و سرعت مورد نیاز برای رضایت کاربر نهایی را فراهم می‌کند. وقتی وب سرور بهینه نشده باشد:

·       وب سرور شما در مقایسه با رقبای‌تان 11% بازدید از صفحه کمتری دارد، و 16% کاهش رضایت مشتری را داراست.

·       تبدیل (conversion) وب سایت شما 7% کاهش می‌یابد.

این حقایق نشان می‌دهد چگونه چند ثانیه اضافی بر کسب و کار شما تأثیر می‌گذارد.

بنابراین برای افزایش ROI خود، لازم است وب سرورها را بهینه کنید.

با پیاده سازی یک راه‌حل برای تثبیت سرور، شرکت ها می‌توانند با تلفیق workload پردازش شرکت با سرورهای جداگانه، از سرورهای کم بهره استفاده کنند.

شرکت ها می‌توانند با استفاده از ترکیبی از روندهای مختلف سرور در اجرای یک سرور کارآمد، منابع عملیاتی خود را حفظ کنند.

روش دیگری برای بهینه سازی سرور وجود دارد؛ مجازی سازی.

مجازی سازی لایه هایی را در یک سرور ایجاد می‌کند، که به آن کمک می‌کند تا به عنوان چندین سرور عمل کند. این روش می‌تواند از چندین برنامه و سیستم عامل با یک سرور برای چندین کاربر پشتیبانی کند.

بیاید یاد بگیریم چگونه با این پنج نکته اساسی عملکرد سرور را بهینه کنیم.

5 تا از بهترین نکات برای بهینه سازی عملکرد سرور

با بهینه سازی عملکرد سرور خود درک کنید که آیا منابع و تنظیمات سرور شما برای نیازهای کسب و کارتان بهینه است. 5 نکته اساسی ما می‌تواند به شما کمک کند تا مشکلات رایج آن را اصلاح کرده یا از آن‌ها جلوگیری کنید.

1. برنامه مناسب برای بهینه سازی سرور را انتخاب کنید

گاهی اوقات برنامه های "پیش فرض" بهترین انتخاب برای عملکرد کارآمد سرور نیستند. در عوض، برای افزایش کارآیی وب سرور خود به یک برنامه متفاوت نیاز دارید.

مثلا، سرورهای CentOS به جای آخرین PHP 7.4 با PHP 5.4 کار می‌کنند، از جمله FastCGI Process Manager (FPM) که مزایای agile عظیمی را می‌دهد.

دلیل اصلی عدم موفقیت در روش های بهینه سازی خریداران VPS، Cloud یا سرور اختصاصی این است که آن‌ها از تفاوت بین برنامه های پیش فرض‌شان با سایر برنامه ها بی‌اطلاع هستند. در عوض آن‌ها بدون استفاده از تکنیک های دیگر برای رفع مشکلات، کد خود را با همان برنامه بهینه می‌کنند.

تنها با تغییر سرور برنامه، تغییر تنظیمات برای اصلاح لود سایت، و فعال کردن کش، می‌توانید عملکرد را بهبود بخشید.

اگر هنوز به تنظیمات پیش فرض برنامه پایبند هستید، پس وقت آن است که سعی کنید از گزینه های دیگر استفاده کنید.

2. یک Reverse Proxy سریع تنظیم کنید

اگر بازدیدکنندگان دیگر همان فایل‌های HTML ای که سرور شما به مرورگر بازدیدکننده می فرستد را درخواست کنند، چه اتفاقی می‌افتد؟ سرور شما همان موارد مشابه را چگونه دوباره ارسال می‌کند؟

معمولا سرور شما اسکریپت ها را از دیسک بازیابی می‌کند، اسکریپت‌ها را انجام می‌دهد، و سپس داده‌ها را لود می‌کند و فایل HTML را جمع آوری می‌کند. این کار زیادی است. بنابراین برای سرور آسان‌تر است که آن فایل‌ها را به جای تکرار مجدد کل فرآیند، مستقیما از حافظه بفرستد. می‌توان از HTTP reverse proxy استفاده کرد. HTTP reverse proxy به عنوان رابطی بین سرور و بازدیدکنندگان است. وقتی مشتریان دوم فایل مشابهی را درخواست دهند، سرور بدون تأخیر فایل را از حافظه واکشی می‌کند.

برای بهینه سازی، بیشتر وب سرورها به عنوان reverse proxy کانفیگ شده‌اند. سه reverse proxy معروف عبارتند از: Varnish، Nginx، و Lighttpd.

به غیر از این موارد پروکسی های دیگری که می‌توانید استفاده کنید عبارتند از، Tinyproxy، Squid، Apache، Freeproxy، Wingate، IIS، و غیره.

برای تعیین اینکه کدام reverse proxy برای بهینه سازی سرور شما بهترین است، پیچیدگی برنامه خود، بارگذاری سایت، و کانفیگ وب را ارزیابی کنید.

3. فعال کردن کشینگ (Caching)

کش کردن یکی از بهترین روش‌ها برای بهبود سرعت سرور هنگام بهینه سازی عملکرد سرور است. با کشینگ می‌توانید زمان بارگذاری سایت را بیش از 50% کاهش دهید.

کش کردن به سرورها کمک می‌کند تا در واکشی فایل‌ها از دیسک‌ها، بازیابی دیتابیس، اجرای کدهای برنامه، و جمع آوری نتایج در صفحه HTML هر زمان که کاربر جدید صفحات را رفرش می‌کند، صرفه جویی کنند.

در عوض، سرور نتایج پردازش شده قبلی را می‌گیرد و آن‌ها را به بازدیدکننده جدید ارسال می‌کند.

4. Defragment کردن جداول دیتابیس و بهینه سازی تنظیمات سرور

وب‌ سایت‌ها معمولا از دیتابیس برای ذخیره داده ها و محتوای محصول، مانند متون، تصاویر، و فایل های مدیا استفاده می‌کنند.

با این حال، توسعه دهندگان مجبورند هر از گاهی صفحات را اصلاح یا حذف کنند، محصولات لیست شده را تغییر دهند، و صفحات جدید اضافه کنند. این فعالیت‌ها حفره‌هایی را در جداول دیتابیس ایجاد می‌کنند.

این شکاف‌های کوچک در مکان داده‌های حذف شده هستند، اما دیگر هرگز بارگیری نمی شوند. این امر معمولا به عنوان "تکه تکه شدن" شناخته می‌شود و باعث می‌شود برنامه در مدت طولانی تری داده ها را واکشی کند و عملکرد سرور را کاهش می‌دهد.

برای بهینه سازی عملکرد سرور، اگر بیش از 5% از سایز آن باشد، شما باید این تکه تکه شدن (fragmentation) را هر ماه در جداول دیتابیس برطرف کنید.

برای defragment، جداول دیتابیس خود را برای fragmentation منظم بررسی کنید و یک کوئری بهینه شده را انجام دهید. به این ترتیب می‌توانید سایت خود را از کندی عملکرد باز دارید.

بهینه سازی تنظیمات دیتابیس

هنگام آپدیت برنامه وب خود یا افزودن جدیدترین پلاگین یا ماژول، مهم است که تنظیمات دیتابیس خود را بهینه کنید.

این یعنی ترافیک سایت شما در کنار تعداد کوئری‌های اجرا شده در دیتابیس افزایش می‌یابد، در نتیجه بارگذاری دیتابیس پیچیده تر می‌شود.

برای بهینه سازی برنامه باید تنظیمات دیتابیس خود را برای بهینه سازی CPU و حافظه سرور تنظیم کنید. همچنین نظارت بر عملکرد سرور یکی از روش های بهینه سازی نمایش است.

5. زمان پاسخ کوئری DNS را درست کنید

زمان پاسخ کوئری DNS عامل اصلی در سرعت بارگیری است.

تعداد ایده‌آل برای پاسخ DNS سایت باید 30 میلی ثانیه یا کمتر باشد. با این حال، بسیاری از سایت‌ها از 200 میلی ثانیه فراتر می‌روند. این اتفاق به دلیل ترافیک از خارج از کشور میزبان آن‌ها رخ می‌دهد.

مشکل اصلی در اینجا مسافت است. هر چه فاصله بین مرورگر و DNS server بیشتر باشد، مدت زمان بیشتری برای اجرا نیاز دارد.

تنها راه‌حل برای رفع این مشکل استفاده از کلاستر DNS توزیع شده است. 3 سرور ارزان قیمت VPS از مناطق مختلف جهان بگیرید و DNS server هایmaster-slave  را در این 3 سرور VPS کانفیگ کنید.

جمع بندی

افزایش سرعت زمان بارگیری صفحه تأثیر به سزایی در عملکرد وب سرور شما دارد.

ابتدا نتایج تست سرعت سایت خود را بررسی کرده و مواردی را که تأثیر منفی بر وب سایت شما می‌گذارد را تحلیل کنید. وقتی مشکل را پیدا کردید، روی عوامل با تأثیر بالا تمرکز کنید و اقدامات اساسی را برای بهینه سازی عملکرد سرور انجام دهید.

برنامه نویسان

نویسنده 3236 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید