Во время записи упал скрипт, вырубили электричество, что-нить еще случилось, всё, данные потеряны. Подобные махинации лучше делать через временные файлы с последующим переименовыванием.
Опять же есть зависимость от хранилища бд, например для InnoDB (mysql) объем буфера должен быть больше суммарного размера таблиц иначе постоянно будет идти загрузка с диска, что очень негативно отразится на быстродействии, MyISAM уже не так критична к памяти.
Для статики пойдет вообще любой сервер, если статистики мало, можете вообще завернуть через связку varnish + nginx, картинки будет держать в памяти, будет очень быстро, проц особо не нужен в данном сервере.
Вот с php сложнее, сколько запросов? Всё зависит от оптимизации, на моей памяти заводили на php, на одном сервере 300-400 запросов в секунду, кэшируя всё подряд в оперативке. Расчитывайте на меньшее.