Існує кілька версій "графіків затримки, які кожен повинен знати", таких як:
Справа в тому, що насправді існує більше, ніж просто затримка. Це поєднання факторів.
Отже, яка затримка мережі в центрі обробки даних? Затримка, я б сказав, що це "завжди" нижче 1 мс. Це швидше оперативної пам'яті? Ні. Це близько до оперативної пам'яті? Я не думаю, що так.
Але питання залишається, чи це актуально. Це дата, яку ви повинні знати? Ваше питання має для мене сенс. Оскільки все має вартість, якщо ви отримаєте більше оперативної пам’яті, щоб усі дані могли залишатися в оперативній пам’яті або нормально час від часу читати з диска.
Ваше «припущення» полягає в тому, що якщо затримка в мережі буде вищою (повільнішою), ніж швидкість SSD, ви не будете отримувати всі дані в оперативній пам’яті, оскільки у вас буде повільна мережа.
І, здавалося б, так. Але, ви також повинні враховувати паралельність. Якщо ви отримуєте 1000 запитів на дані одночасно, чи може диск виконати 1000 одночасних запитів? Звичайно, ні, так скільки часу буде потрібно для задоволення цих 1000 запитів? Порівняно з оперативною пам’яттю?
Важко звести це до одного фактора, наприклад, великих навантажень. Але так, якби у вас була одна операція, затримка мережі така, що ви, мабуть, не помітили різниці SSD від оперативної пам'яті.
Як і до появи на ринку диска 12 Гбіт / с, мережеве посилання 10 Гбіт / с не буде перевантажено одним потоком, оскільки диск був вузьким місцем.
Але пам’ятайте, що ваш диск виконує багато інших речей, ваш процес - не єдиний процес на машині, ваша мережа може переносити різні речі тощо.
Крім того, не всі дискові дії означають мережевий трафік. Запит на базу даних, що надходить з програми на сервер бази даних, становить лише дуже мінімальний мережевий трафік. Відповідь сервера баз даних може бути дуже маленькою (єдине число) або дуже великою (тисяча рядків з кількома полями). Для виконання операції серверу (сервер бази даних чи ні) може знадобитися кілька запитів, читання та запису диска, але лише надсилає дуже невеликий біт назад по мережі. Це, безумовно, не одна-на-одну мережевий диск-ОЗУ.
Поки я уникав деяких деталей вашого питання - зокрема, частини Redis.
Redis - це відкритий код (ліцензований BSD), зберігання структури даних в пам'яті, який використовується як база даних, кеш-пам'ять та брокер повідомлень. - https://redis.io/
Гаразд, так що це означає, що все в пам’яті. На жаль, цей швидкий SSD-диск тут вам не допоможе. Redis може зберігати дані на диску, тому він може бути завантажений в оперативну пам'ять після перезавантаження. Це лише для того, щоб не "втратити" дані або доведеться перенаселити холодний кеш після перезавантаження. Тож у цьому випадку вам доведеться використовувати ОЗУ, незважаючи ні на що. Вам потрібно буде мати достатню кількість оперативної пам’яті, щоб містити набір даних. Не вистачає оперативної пам’яті, і я думаю, що ваша ОС буде використовувати swap
- напевно, це не дуже гарна ідея.