256 или 512 МБ для веб-сервера

12

Я планирую купить Raspberry Pi, у моего коллеги осталось 256 МБ. Но я не знаю, может ли 256 МБ памяти заполнить то, что я хочу запустить.

Я хочу запустить веб-сервер Apache (или другой веб-сервер, который использует меньше оперативной памяти и ЦП) с PHP и MySQL, FTP-сервером и прокси-сервером SOCKS 5. На веб-сервере я собираюсь запустить:

  • форум Vbulletin с 8 пользователями
  • Игра, которую я сейчас разрабатываю.

Когда игра будет готова, я могу перенести форум или игру на другую малину, когда она слишком тяжелая. Я держу игру как можно меньше и быстрее. Например: я собираюсь обработать все задания обновления с C ++. Но когда игра достаточно велика, чтобы заработать на ней деньги, я хочу купить обычный сервер, если это дает прирост производительности. Но я хочу немного поэкспериментировать с Пи.

Итак, мой вопрос: я должен купить новую 512 МБ модель B pi или просто купить 256 МБ версию b моего коллеги?

Лоренс
источник

Ответы:

12

На это нет однозначного ответа, потому что это действительно зависит от того, насколько вам нужна производительность, насколько сложным будет ваше приложение и т. Д.

Всегда лучше иметь больше памяти, просто чтобы быть в безопасности. Помните, что вы никогда не получите полных 256 МБ ОЗУ для Linux, лучшее, что вы можете получить, это 240 МБ, так как остальное будет выделено для GPU (и вам действительно следует использовать это разделение в вашей рабочей нагрузке). 240 МБ это не так много, но, с другой стороны, есть много поставщиков услуг VPS, которые предоставляют VPS (которые являются виртуализированными частными серверами) с 256 МБ ОЗУ, и люди запускают довольно большие сайты на этих машинах, так что это определенно возможно.

Вы можете установить лимит памяти, доступный для сайта PHP, и на многих службах общего хостинга он составляет 8-16 МБ на сайт. И многие приложения могут работать очень довольны этим. MySQL имеет много опций конфигурации, которые можно использовать для ограничения использования памяти, и вы можете довольно легко запустить его с 64 МБ (или даже меньше) памяти. Веб-сервер Apache не слишком требователен к памяти, и есть даже более легкие альтернативы. Мы можем пропустить серверы FTP и SOCKS, так как они занимают очень небольшой объем памяти (по крайней мере, когда используется только парой пользователей).

Таким образом, база данных является самой большой проблемой здесь. Помните, что чем больше памяти у сервера базы данных, тем лучше будет производительность (он использует его в основном для кэширования для безопасного дискового ввода-вывода). На сайтах с очень высоким трафиком у сервера базы данных достаточно памяти, чтобы сохранить (почти) всю базу данных в памяти. Возможно, вам не понадобится такая хорошая производительность. RaspberryPi не имеет слишком быстрого хранилища (оно примерно в 5-10 раз медленнее, чем на полноценных компьютерах даже без RAID), поэтому ваша производительность будет очень низкой, когда он достигнет хранилища. Продолжая уже упомянутые VPS - у них есть гораздо более быстрые решения для хранения в большинстве случаев, но они также делят это хранилище со многими другими VPS (часто с 16 или даже 32), так что это очень часто не лучше, чем на RaspberryPi. И снова, много сайтов успешно работают на этих серверах.

Итак, подведем итог - у вас должно быть все в порядке с 256 МБ ОЗУ, но вам придется настроить некоторые параметры конфигурации, чтобы уменьшить использование памяти. Должно быть легко найти некоторые учебники об этом в Интернете, особенно когда вы ищете статьи об оптимизации сервера для использования VPS и т. Д. Если вы не планируете использовать что-то, что требует больше памяти в будущем и может сэкономить деньги, купив 256-мегабайтная версия RaspberryPi, это может стоить того. И вы можете освоить некоторые интересные навыки, такие как проектирование вашего приложения таким образом, чтобы оно использовало меньше памяти, или настройку вашей системы на то, чтобы она требовала меньше памяти. Эти навыки могут быть оплачены в будущем.

Кшиштоф Адамски
источник
Спасибо за хороший ответ. Это действительно очень хороший способ научиться разрабатывать хорошие приложения. Большое спасибо. Я собираюсь получить 256. Я нашел много учебников , чтобы сделать это: squidoo.com/optimizing-mysql-for-vps-dedicated-server wiki.vpslink.com/Low_memory_MySQL_/_Apache_configurations supportcenter.verio.com/KB/questions.php?questionid=267 ServerFault .com / вопросы / 29126 / ... my.opera.com/floweringmind/blog/...
Laurence
1
@Laurence: Я знаю, что это очевидно, но просто помните, что хорошо также знать, почему вы должны изменить некоторые значения и что они делают, если вы действительно хотите узнать что-то полезное. Некоторые значения просто копируются и вставляются с других сайтов без особых раздумий и могут быть не оптимальными для вас.
Кшиштоф Адамски,
Во-вторых, @Laurence, что разработка на системах с ограниченными ресурсами может быть хорошей практикой. Раньше я писал программы на платформах с 64 КБ для приложений и 64 КБ для данных. Вы будете поражены тем, что люди могут сделать с этим. Даже предшественник навигационного программного обеспечения TomTom был написан в этих пределах. В настоящее время разработчики становятся ленивыми, с огромными отпечатками памяти в результате. Я бы выбрал модель на 256 МБ просто как принудительные ограничения.
EDP