20 тыс. Посещений в день на 3-4 сайтах, управляемых базой данных, - 1 ГБ ОЗУ - MSSQL Server
Все эти сайты будут динамическими (управляемыми базой данных). Я буду получать в основном текст из баз данных и некоторые изображения через день.
Это сервер Windows. Как вы думаете, 1 ГБ ОЗУ будет достаточно? Не могу привести свои мысли в порядок!
данные скоро достигнут 1 ГБ, так как это несколько веб-сайтов и несколько небольших изображений. Таблицы будут проиндексированы. Я использую ASP.NET MVC (C#.NET). Я кеширую вещи внутри C#.NET большое время. Я буду возвращать около 10 строк данных за каждое посещение, но я также много кеширую на своих сайтах. Мои вопросы проясняют ситуацию? Эти визиты должны быть распределены в течение дня, НО я точно не знаю.
Следует также упомянуть, что это Hyper-V VPS, а ОС - это Windows Server 2008
4 ответа
Одна вещь, которую я узнал, это никогда не подсчитывать, сколько SQL-серверу (MySQL, Microsoft SQL Server) требуется память.
Вы настроите приложение и базы данных, все будет хорошо и вполне может уместиться под 1 Гб памяти. Это одна вещь, которую вы ЗНАЕТЕ.
Чего вы не знаете: увеличение трафика и всплески трафика - если это возможно с вашим приложением.
Обновление / изменение запроса - со временем ваше приложение, скорее всего, будет иметь обновления, которые обычно приходят с новыми запросами SQL. Некоторые из них не могут быть оптимизированы и излишни, другие могут быть просто не оптимизированы.
Список можно продолжить, но в один прекрасный момент вы наверняка нажмете 1 Гб и начнете менять местами.
Я бы предпочел начать с низкого уровня, как вы, и убедиться, что вы можете добавить память в любое время. Инвестируйте в программное обеспечение для мониторинга и запуска предупреждений, чтобы вы могли добавлять память при необходимости.
Вероятно, лучший способ уменьшить объем памяти SQL - это кэшировать запросы. Тем временем это также ускоряет запросы.
Будет ли это работать, да. Будет ли это приемлемым для некоторых пользователей, да. Будет ли это действительно хорошо, вероятно, нет. SQL любит память, как толстый ребенок любит торт.
Я бы не стал сильно беспокоиться об этом, если это виртуальная машина, если у вас недостаточно памяти, просто добавьте больше.
Насколько велики ваши данные?
Вы делали какую-либо оптимизацию в базе данных?
какой язык программирования вы используете?
насколько велик ответ?
как быстро вы хотите вернуть его?
Вы когда-нибудь задумывались о кешировании?
Вы никогда не можете иметь слишком много памяти, и в этом случае 1 ГБ определенно слишком мало. Ваша операционная система потребит значительную часть этого, SQL съест больше, и ваше тяжелое кэширование завершит работу. В основном эта установка будет постоянно меняться и, вероятно, будет работать ужасно.