Определение минимальных требований к памяти и свободному месту на диске? - PullRequest
1 голос
/ 24 декабря 2009

На странице 42 Кодового кода завершена контрольная таблица позиций требований, которые вы, возможно, захотите рассмотреть на этапе требования.
Один из пунктов (в нижней части списка) говорит Are minimum machine memory and free disk space specified
Было ли это когда-либо требованием в каком-либо проекте, который вы выполняли, и как вы определили такое требование еще до того, как начали собирать материал?

Я знаю, что это всего лишь предложение, и, честно говоря, я не думаю, что когда-либо включу это в свои требования, но это заставило меня задуматься (и это настоящий вопрос) ..

Как можно было бы оценить системные требования ...

Ответы [ 6 ]

2 голосов
/ 24 декабря 2009

Это на стадии требований, так что не стоит ли определить минимальную спецификацию машины, на которой приложение имеет для выполнения, чем оценку ресурсов, которые ваше приложение будет использовать?

Я разработал системы для корпоративных клиентов, в которых они имеют стандартные сборки и способны определить минимальную спецификацию машины, которая будет использоваться. Зачастую вы не будете знать минимальные спецификации машин, на которые вы будете устанавливать, но вы будете знать операционные системы, которые вы должны поддерживать, и, возможно, сможете сделать из них вывод.

1 голос
/ 24 декабря 2009

Это, безусловно, соображения на ранних стадиях некоторых проектов, над которыми я работал. Многие научные коды сводятся к работе с большими матрицами. Часто можно определить на ранней стадии, что код X должен будет манипулировать плотной матрицей, скажем, с 100 000 строк и столбцов сложных двойников. Делай суммы. Иногда ответом является: (а) упаковать компьютер с ОЗУ, иногда - (б) нам придется распараллелить это для памяти, даже если это не нужно для производительности.

Иногда наши пользователи хотели бы проверять свои программы каждые N итераций. Контрольные точки с очень большими наборами данных могут занимать много места на диске. Вытащите свой калькулятор снова.

Я знаю, что все это очень ниша, но это важно, когда это важно.

1 голос
/ 24 декабря 2009

Я указывал это раньше, но это всегда была приблизительная цифра, использующая стандартную спецификацию дня. Например, на данный момент я бы просто сказал, что мое приложение предназначено для развертывания на серверах с минимум 4 ГБ оперативной памяти. Потому что это то, что мы разрабатываем и тестируем.

Для клиентских приложений вам может потребоваться немного подробнее, но обычно лучше определиться с классом машины, на которую вы ориентируетесь, а затем убедиться, что ваше приложение соответствует этим ограничениям. Только когда ваше приложение предъявляет особенно высокие требования в одной области (например, если оно хранит много изображений или нуждается в мощном графическом процессоре), вам нужно углубляться в детали.

0 голосов
/ 24 декабря 2009

Я видел, что программное обеспечение во встраиваемых системах предъявляет минимальные требования к памяти компьютера - часто это происходит из-за ограничений на специально изготовленное оборудование. Если поле может быть только размерами X на Y и Z и должно удовлетворять другим физическим требованиям, ограничения на доступную память для программного обеспечения могут быть абсолютными, и минимум должен быть установлен заранее.

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

Я видел, что в больших проектах с данными упоминалось свободное место - вы действительно можете собрать систему, если в вашей базе данных нет слабого места для перемещения данных. Я видел требования, которые указывают на прибамбасы и экстренные меры, чтобы всегда было достаточно места для гудения базы данных.

0 голосов
/ 24 декабря 2009

Вы можете проверить, сколько памяти используется вашим программным обеспечением во время тестирования, а затем оценить, сколько еще вам может понадобиться, если вы обрабатываете большие куски, то есть, если вы обрабатываете 1000 элементов в вашем самом большом наборе тестов и вам нужно 4 МБ, тогда вам, вероятно, понадобится 4 ГБ для обработки 1 миллиона элементов.

0 голосов
/ 24 декабря 2009

Машинная память сложна, так как виртуальная память настолько распространена, но дисковое пространство не так уж сложно в зависимости от системы. У нас есть работающая система, которая была создана для работы с рядом внешних устройств (принимающих данные, преобразовывающих данные и доставляющих клиенту), и ее было довольно просто определить, учитывая, что мы знаем текущие и прогнозируемые объемы данных, устройства генерировали.

...