Озадачился вопросом сколько разрядов нужно?
Дано: облачный VPS (1Гб ОЗУ, быстрые SSD)
Swap 2Gb
NGINX / REDIS / MariaDB / PHP FPM
Вроде даже со свопом (кстати своп разве считается в адресации памяти? меня что-то перемкнуло...), 4Гб не набирается и даже если ОЗУ буду расширять до 2 Гб, то общий объем будет 4Гб.
Вот такие пирожки. В чем выигрыш 32 бит понятно - меньше накладных расходов по ОЗУ, которого и так мало.
КАкие есть соображения? Прошу без ответов "Мамой клянусь, ставь 64!" и "я бы поставил cent os".
UPD
Провел тесты (есть 2 тестовые виртуальные машинки Debian 8 32 и 64 бита соответственно). После установки вебсервера с обвязкой (см выше) количество свободной памяти в рамках погрешности идентично! Провел тесты sysbench. В среднем все идентично. Кроме теста памяти!
64 бита
root@solarsun:~# sysbench --test=memory --num-threads=4 --memory-total-size=1G run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 4
Doing memory operations speed test
Memory block size: 1K
Memory transfer size: 1024M
Memory operations type: write
Memory scope type: global
Threads started!
Done.
Operations performed: 1048576 (2283965.19 ops/sec)
1024.00 MB transferred (2230.43 MB/sec)
Test execution summary:
total time: 0.4591s
total number of events: 1048576
total time taken by event execution: 1.4615
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 20.03ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 262144.0000/2606.61
execution time (avg/stddev): 0.3654/0.01
32 бита
root@solarmoon:~# sysbench --test=memory --num-threads=4 --memory-total-size=1G run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 4
Doing memory operations speed test
Memory block size: 1K
Memory transfer size: 1024M
Memory operations type: write
Memory scope type: global
Threads started!
Done.
Operations performed: 1048576 (1216515.90 ops/sec)
1024.00 MB transferred (1188.00 MB/sec)
Test execution summary:
total time: 0.8620s
total number of events: 1048576
total time taken by event execution: 2.7441
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 20.02ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 262144.0000/1919.49
execution time (avg/stddev): 0.6860/0.03
Память на 64 битной машинке получается ровно вдвое быстрее. Запускал несколько тестов с разными значениям - результаты идентичные.