Лаком по умолчанию не кэширует запросы с заголовком Cookie:
http://varnish-cache.org/svn/trunk/varnish-cache/bin/varnishd/default.vcl
sub vcl_recv {
(...)
if (req.http.Authorization || req.http.Cookie) {
/* Not cacheable by default */
return (pass);
}
return (lookup);
Необходимо кодировать поведение, которое Вы хотите в конфигурацию. Знайте, что Cookie является частью клиентского запроса, не "страницей" (объект, действительно). "Страница" (объект) идет с заголовком "Cookie Набора" - это - то, которое будет кэшироваться.
Кроме того, "Варьируйтесь: Cookie" не означает, "не кэшируются". Это означает кэш один объект для каждого значения полученного Cookie.
Если Ваше приложение не генерирует никого на основе содержимого на Cookie, вероятно, безопасно проигнорировать его:
- if (req.http.Authorization || req.http.Cookie) {
+ if (req.http.Authorization) {
Сделайте некоторые тесты, и Вы приобретите навык его.Надеюсь, это поможет.
It's probably partly my background and experience talking here, but I wouldn't recommend a home-brew server solution for storage for virtual machines in what could be considered a "production" or "enterprise" environment.
I'd be looking at the mainstream storage vendors who could provide a SAN solution, but with a pair of high-availability NAS heads to export the underlying filesystem as NFS/CIFS in a supported, certifiable manner.
Я понимаю желание перейти от чистого блочного хранилища к чему-то более гибкому.
Однако я бы не стал использовать для этого простой стек хранилища Linux, когда несколько предложений программного обеспечения устройства хранения доступны прямо сейчас. Подход Linux может работать, но отсутствие функций управления / поддержки, требуется настройка XFS ( здесь и здесь ) и тот факт, что это не специально созданная ОС для хранения данных - это недостатки.
Добавьте к этому некоторые неприятные проблемы с разработчиком кода XFS / RHEL и неприятную ошибку ядра, влияющую на среднюю загрузку системы, и описанная вами комбинация Linux станет менее привлекательной.
Чистый Linux может хорошо работать для этой цели, но установка, безусловно, будет выходить за рамки нормы и может использовать эзотерические решения, такие как ZFS в Linux или не очень готовые к работе Btrfs . Подробнее об этом позже.
Я часто делаю это, выбирая NFS на хранилище на основе ZFS для большинства моих развертываний VMware вместо SAN начального уровня, такой как массив HP P2000. Я дополняю установку ZFS устройствами кэширования SSD и DRAM L2ARC (чтение) и ZIL (запись). Вдобавок я уже четыре года использую 10GbE с таким типом установки.
На данный момент я сосредоточусь на NexentaStor , так как это программное обеспечение устройства, которое я использую большую часть времени ...
Я построил множество систем на базе HP ProLiant для хранения ZFS, с универсальных хостов VMware на автономные устройства хранения DL380 для полнофункциональных многопутевых подключений SAS к блокам JBOD каскадного хранилища ( передний и задний ).
NexentaStor и NFS / CIFS.
Nexenta поддерживает представление файлового и блочного хранилища внешним системам. Я могу взять пул из 24 дисков и предоставить хранилище iSCSI хостам, которым требуется собственное блочное хранилище, NFS для моей инфраструктуры VMware ESXi и CIFS для нескольких клиентов Windows. Пространство используется эффективно и вырезано из хранилища бассейна. Например, никаких искусственных колпачков. Сжатие является прозрачным и очень помогает в сценариях виртуальных машин (меньше перемещается по сети).
10GbE помогает, но это зависит от того, что вы представляете своим хостам виртуализации. Будут ли они также 1GbE или 10GbE?
Benchmarks:
I ' Я проведу быстрый тест гостевой виртуальной машины, работающей на хосте ESXi, подключенном через 10GbE к NexentaStor SAN.
Это будет массив из 6 дисков. (в корпусе HP D2600 - 600 ГБ 15 КБ SAS)
[root@Test_VM /data]# iozone -t1 -i0 -i1 -i2 -r1m -s6g
Iozone: Performance Test of File I/O
Run began: Mon Feb 11 18:25:14 2013
Record Size 1024 KB
File size set to 6291456 KB
Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s6g
Output is in Kbytes/sec
Children see throughput for 1 initial writers = 128225.65 KB/sec
Children see throughput for 1 readers = 343696.31 KB/sec
Children see throughput for 1 random readers = 239020.91 KB/sec
Children see throughput for 1 random writers = 160520.39 KB/sec
Это идет на занятый массив из 16 дисков (в корпусе HP D2700 - 300 ГБ 10 КБ SAS).
[root@Test_VM2 /data]# iozone -t1 -i0 -i1 -i2 -r1m -s4g
Iozone: Performance Test of File I/O
Run began: Mon Feb 11 16:33:53 2013
Record Size 1024 KB
File size set to 4194304 KB
Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s4g
Output is in Kbytes/sec
Children see throughput for 1 initial writers = 172846.52 KB/sec
Children see throughput for 1 readers = 366484.00 KB/sec
Children see throughput for 1 random readers = 261205.91 KB/sec
Children see throughput for 1 random writers = 152305.39 KB/sec
Графики ввода-вывода из того же прогона .. . Килобайт / с и показатели IOPS.
Использование хоста Linux, обеспечивающего хранилище CIFS для хостов Hyper-V, нецелесообразно и определенно не поддерживается Microsoft. Когда вы говорите о таком важном, как виртуализация для критически важной бизнес-инфраструктуры, вам определенно нужна поддержка поставщика.
Вам потребуется либо предоставить более традиционное хранилище iSCSI или Fibre Channel для ваших серверов Hyper-V, либо или если вы планируете запускать Windows 2012, вы можете использовать службы хранения Windows 2012 для предоставления iSCSI вашим хостам.
Другая возможность - запустить Windows 2012 или что-то вроде Nexenta в качестве виртуального гостя в вашей инфраструктуре VMWare, чтобы предоставить iSCSI для вашей Hyper- V гости. Это не самая производительная конфигурация, но тоже неплохая. Поскольку размер вашего Hyper-V невелик или его нет, это может быть хорошим компромиссом для максимальной гибкости без выделенного LUN.
В противном случае вам понадобится что-то, что полностью виртуализирует ваши LUN, например HP LeftHand SAN. В LeftHand диски не предназначены для LUN. Вместо этого все LUN распределяются по всем дискам. Звучит немного странно, но это хороший продукт.
Другая возможность - запустить Windows 2012 или что-то вроде Nexenta в качестве виртуального гостя в инфраструктуре VMWare, чтобы предоставить iSCSI для ваших гостей Hyper-V. Это не самая производительная конфигурация, но тоже неплохая. Поскольку размер вашего Hyper-V невелик или его нет, это может быть хорошим компромиссом для максимальной гибкости без выделенного LUN.
В противном случае вам понадобится что-то, что полностью виртуализирует ваши LUN, например HP LeftHand SAN. В LeftHand диски не предназначены для LUN. Вместо этого все LUN распределяются по всем дискам. Звучит немного странно, но продукт хороший.
Другая возможность - запустить Windows 2012 или что-то вроде Nexenta в качестве виртуального гостя в инфраструктуре VMWare, чтобы предоставить iSCSI для ваших гостей Hyper-V. Это не самая производительная конфигурация, но тоже неплохая. Поскольку размер вашего Hyper-V невелик или его нет, это может быть хорошим компромиссом для максимальной гибкости без выделенного LUN.
В противном случае вам понадобится что-то, что полностью виртуализирует ваши LUN, например HP LeftHand SAN. В LeftHand диски не предназначены для LUN. Вместо этого все LUN распределяются по всем дискам. Звучит немного странно, но это хороший продукт.
Поскольку размер вашего Hyper-V невелик или его нет, это может быть хорошим компромиссом для максимальной гибкости без выделенного LUN.В противном случае вам понадобится что-то, что полностью виртуализирует ваши LUN, например HP LeftHand SAN. В LeftHand диски не предназначены для LUN. Вместо этого все LUN распределяются по всем дискам. Звучит немного странно, но продукт хороший.
Поскольку размер вашего Hyper-V невелик или его нет, это может быть хорошим компромиссом для максимальной гибкости без выделенного LUN.В противном случае вам понадобится что-то, что полностью виртуализирует ваши LUN, например HP LeftHand SAN. В LeftHand диски не предназначены для LUN. Вместо этого все LUN распределяются по всем дискам. Звучит немного странно, но продукт хороший.