زمانی که صحبت از عملکرد سرور میشود که به نظر میرسد منظور مجموعهی بیپایانی از اپلیکیشنها باشد، اولین موردی که برای بسیاری از افراد حرفهای در زمینهی IT مورد بررسی ، مبحث مموری سرور است. با تعداد بسیار زیادی از گزینههای حافظهی سرور موجود در بازار، انتخاب بهرین گزینه ممکن است کار سختی به نظر برسد. چه میزانی از حافظه مورد نیاز است؟ چه برنامهای برای توسعه یا ارتقاء دادشته باشیم؟ از کجا باید اندازهگیری گزینهی درست را شروع بکنیم؟ در این مطلب به بررسی مفاهیمی میپردازیم که برای تصمیمگیری در رابطه با نوع بهترین تکنولوژی و سختافزار مناسب برای نیازهای شما، در درک گزینههایتان به شما کمک خواهند کرد.
مموری سرور چیست؟
مموری سرور (Memory) در مقابل حافظهی ذخیرهسازی سرور (Storage Server memory) ممکن است با مقدار حافظهی ذخیرهسازی موجود در یک دستگاه اشتباه گرفته شود، که البته این یک اشتباه رایج است. افزایش ظرفیت ذخیرهسازی (storage capacity) سرور عملکرد سراسری را بهبود نمیبخشد، اما به سادگی امکان ذخیرهسازی دادههای بیشتری را فراهم میکند. در عوض، مموری سرور (server memory) اجازه میدهد که اطلاعات نوشتنی و خواندنی از حافظه ذخیرهسازی (storage) به وسیلهی دستگاه قابل دسترسی باشند. هر چه مموری بیشتر باشد، آیتمها و اعمال بیشتری میتوانند توسط سرور خوانده، نوشته و اجرا شوند. مموری سرور را مانند حافظهی کوتاهمدت افراد و حافظه (storage) سرور را به عنوان حافظهی بلندمدت افراد در نظر بگیرید. حافظهی کوتاهمدت بر روی کار فعلی که در حال انجام است تمرکز دارد و این نوع حافظه بر مبنای تعداد کارهایی که میتوانند در یک زمان اجرا شوند، دچار محدودیت است. RAM مخفف random access memory، به معنی حافظهی دسترسی تصادفی، توسط یک سرور برای ذخیرهسازی دادههایی که میتوانند توسط CPU (پردازندهی مرکزی) به سرعت در دسترس قرار بگیرند ی و خوانده و نوشته شوند، استفاده میشود. در واقع این نوع حافظه یک فضای کاری موقتی است که دستورات در آن دستورات میتوانند به موازات پردازش دادهها اجرا شوند. زمانی که یک کاربر در حال اجرای کارهایی مانند دسترسی به یک برنامه یا مرور کردن یک صفحهی وب بر روی یک سرور است، RAM این اعمال را اجرا میکند. این اصطلاح اغلب برای اشاره به مموری یک کامپیوتر یا سرور استفاده میشود. رم مموریها (RAM Memory) میتوانند در دستهبندی فرار (volatile) یا موقت در مقابل غیر فرار (non-volatile) قرار بگیرند که به قدرتی برای نگهداری دادهها نیاز دارند؛ اما چون مموریهای فرار قدرت کمی در این رابطه دارند دادهها نیز سریع و بلافاصله از دست میروند. مموری غیر فرار یا NVM مخفف عبارت Non-volatile memory در نقطهی مقابل قرار دارد به طوری که حتی میتواند پس از خاموش کردن و روشن کردن دوبارهی سیستم به دادههای ذخیره شده دسترسی داشته باشند. هنگامی که مموریهای فرار در دستگاههای محاسباتی به عنوان حافظهی اصلی مورد استفاده قرار میگیرد عملیتر است و البته شامل دو نوع پویا و ایستا میشود. در حالی که حافظهی رم پویا یا DRAM (مخفف عبارت dynamic RAM) از نقطهنظر قیمت محبوبتر است، حافظهی رم ایستا یا SRAM (مخفف عبارت static RAM) با سرعت بالاتری فعالیت میکند، زیرا به بر خلاف DRAM به تازهسازیهای الکتریکی نیازی ندارد؛ با این حال ارزش مالی بیشتری نیز به همراه دارد. NVM به صورت رایج برای اپلیکیشنهای ذخیرهسازی ثانویه یا حافظهی طولانیمدت استفاده میشوند. DDR4 مخفف عبارت double data rate 4th نوعی از حافظهی رم پویا یا DRAM است که با توجه به نیازمندیهای برق کم آن و نیز سرعت بالای انتقال میزان دادهها، امروزه به صورت گسترده در تکنولوژی پیشرفتهی مموری سرور به کار میرود. در صنعت، اندازهی رم به صورت رایج بر حسب گیگابایت (GB) اندازهگیری میشود که در مقیاس ترابایت (terabyte) نیز در دسترس است، در حالی که سرعت یا زمان دسترسی بر حسب مگاهرتز (MHz) اندازهگیری میشود. مموری سرورهای امروزی به صورت رایج بر حسب نرخ انتقال داده یا پهنای باندشان طبقهبندی میشوند که عموما بهصورت میلیونها انتقال بر ثانیه (MT/s) اندازهگیری میشوند. یک نوع رایج رم که امروزه استفاده میشود DIMM مخفف عبارت dual inline memory module است که عموما در طبقهبندیهای ۱۰۶۶ MT/s، ۱۳۳۳ MT/s، ۱۶۰۰ MT/s یا ۱۸۶۶ MT/s ارائه میشود. DIMMهای با عملکرد بالا میتوانند به نرخ ۲۱۳۳ و حتی ۲۴۰۰ MT/s نیز دست پیدا کنند.
چه میزان مموری سرور واقعا نیاز دارید؟
زمانی که بهترین گزینهی سرور را برای یک اپلیکیشن انتخاب میکنید احتمالا این سوال، اولین پرسشی است که مطرح میشود؛ اما متاسفانه پاسخ بیپرده و مستقیمی ندارد. به دلیل استفادهی متنوع و همهکارهی سرور در دنیای تجاری مدرن حال حاضر، تعداد زیادی از راهکارها و راهحلها در دسترس هستند. رابطه بالایی میان تعداد کاربرانی که یک سرور پشتیبانی میکند و میزان مموری مورد نیاز برای حمایت و پشتیبانی از این میزان کاربران وجود دارد. در شرایطی که سرور تعداد کاربرانی دارد که همواره از میزان ظرفیت مموری آن بیشتر است، با مشکلات اجرایی روبهرو خواهد شد که گفته میشود سرور به حافظهی مجازی در درایو ذخیرهسازی دسترسی یافته و عملیاتها بسیار کُندتر میشوند. مثل همیشه، تحقیق و جستجو راهکار کلیدی برای تشخیص گزینههایی است که بهترین عملکرد را برای اپلیکیشنهای شما دارند. تعیین تعداد کاربرانی که به سرور دسترسی دارند و نوع برنامهها و فایلهایی که مورد استفاده و دسترسی قرار میگیرند، یک نقطهی شروع قابل توجه به منظور انجام بهترین تصمیمگیری برای نیازمندیهای اصلی مموری سرور است. همانطور که کاربران اضافه شده به مرور زمان عملکرد را کاهش میدهند، از پیش برای توسعههای آیندهی سرورتان که به منظور حمایت از عملیات سازگارسازی در سطوح بالا انجام خواهد شد، برنامه و طرح داشته باشید.
در بخش بعدی، به سوالات و نکات دیگری میپردازیم که در انتخاب یک راهکار مناسب برای مموری سرور به شما کمک خواهند کرد.