LINUX.ORG.RU
ФорумAdmin

KVM + 1С скорость работы

 ,


0

3

запустил на хосте дебиан гостя win7 под нужды 1с7.7 (обычная, не SQL) у гостя три ядра по 2.4, 10 гигов оперативы, живёт на LVM. возникли трудности, один из ключей (хасп подхватился сразу), второй eutron в отказ пошёл, но это думаю связанно с драйверами, пока сделал ключи через другую машину. Но по мимо этого серьёзные трудности возникли, сильно тупит 1с при обращении к базам, базы около 4 гигов. На диск и проц стоят драва virtio. Как раступить 1с? Работает медленно даже с 1 активным юзером. Как бы её раступить? И в чём может быть причина, вроде читал что kvm одна из самых шустрых виртуалок...


Ответ на: комментарий от tazhate

Кстати, таже ESXi, примерно аналогично работает? В плане отложенной записи, т.е. сперва в ОЗУ, и рапортует якобы уже на диске, и только чуть позже неспеша на диск кидает.

DALDON ★★★★★
()
Ответ на: комментарий от DALDON

Кстати, таже ESXi, примерно аналогично работает?

Без понятия, не использую.

tazhate ★★★★★
()
Ответ на: комментарий от Deleted

Если другие рабочие станции вин7, то лучше вин7.
Там если открывать 1с из хп и висты/7, то надо индексы перенастраивать.
Вроде можно 1 файлик подменить и без лишних плясок будет работать одновременно под хп и вистой/7.

Deleted
()
Ответ на: комментарий от tazhate

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

rudra
() автор топика
Ответ на: комментарий от Deleted

Странное сочетание. Почему не XP или даже 2000?

вроде как win7x64 значительно быстрее Xp x64

rudra
() автор топика
Ответ на: комментарий от rudra

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

Нет, вполне нормально.

tazhate ★★★★★
()
Ответ на: комментарий от Deleted

да и эти обратные лицензии на хр, сам черт ногу сломит

rudra
() автор топика
Ответ на: комментарий от tazhate

Железные проблемы явно вылезают из контекста топика

и

cache=writeback

вполне в контексте, если не хочется терять данные.

dyasny ★★★★★
()

у гостя три ядра

Мало. Драйвера virtio сожрут время CPU. Увеличить кол-во потоков отданных виртуалке до 4-6 минимум.

И да, потоки и ядерность процессора это разное.

сильно тупит 1с при обращении к базам

Как сказал tazhate cache=writeback

И да, RDP. Сетевой вариант не взлетит и не совершенство сетевого ввода/вывода KVM тут не причем, сама 1С такая.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 4)
Ответ на: комментарий от petav

Увеличить кол-во потоков отданных виртуалке до 4-6 минимум. И да, потоки и ядерность процессора это разное.

Ткни где почитать об этом.

DALDON ★★★★★
()
Ответ на: комментарий от petav

Увеличить кол-во потоков отданных виртуалке до 4-6 минимум.

на хосте 4 ядра, потоков я так понял должно быть не больше чем ядер хоста, но хост тоже трудится (файлопомойка, ldap,ddhcp,почта.. бла-бла-бла) я подумал что 4 потока на гостя будет слишком накладно для хоста, хотя с потушенным гостем он довольно скромен в аппетитах

И да, RDP. Сетевой вариант не взлетит и не совершенство сетевого ввода/вывода KVM тут не причем, сама 1С такая.

RDP это терминальный вариант ты имеешь ввиду? собственно терминально думал только кассы подрубить. Как вариант, что предпочтительней, шара с базами на хосте, или пусть всё лежит на госте, cache=writeback сделал?

to DALDON

UPS тогда уж...

будет

rudra
() автор топика
Ответ на: комментарий от DALDON

Понятнее будет на системе Hyper-threading
К примеру Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz (ссылка не совсем на ту модель) 6 ядерный, но

cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
stepping	: 7
cpu MHz		: 1200.000
cache size	: 12288 KB
physical id	: 0
siblings	: 12
core id		: 0
cpu cores	: 6
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb r
dtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdc
m dca sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips	: 6404.93
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:

...
processor	: 11
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
stepping	: 7
cpu MHz		: 1200.000
cache size	: 12288 KB
physical id	: 0
siblings	: 12
core id		: 5
cpu cores	: 6
apicid		: 11
initial apicid	: 11
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips	: 6403.64
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:

показывает 12 процессоров с 6 ядрами, т.е. 72 потока. Так же в том контексте, что тебя интересует, необходимо верно размечать топологию процессора. Каждый отданный поток гостем windows определяется как самостоятельный физический процессор. У windows есть ограничение на кол-во процессоров. Оно разное у продукта desctop и server, но почти нет ограничений на ядра. Поэтому при неверном формировании топологии процессора для данных гостей часть переданных ресурсов не будет утилизирована. К примеру так размечается 1 процессор c 36 ядрами.
<vcpu>36</vcpu>
<cpu>
  <topology sockets='1' cores='36' threads='1'/>
</cpu>
и т.п.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от rudra

на хосте 4 ядра, потоков я так понял должно быть не больше чем ядер хоста, но хост тоже трудится (файлопомойка, ldap,ddhcp,почта.. бла-бла-бла) я подумал что 4 потока на гостя будет слишком накладно для хоста, хотя с потушенным гостем он довольно скромен в аппетитах

Не обязательно. Все зависит от модели процессора. Можно отдать каждой машине все доступное (к примеру 10) кол-во потоков. Процессор будет балансировать между нимим. Но если всем машинам одновременно понадобиться все 10 потоков на 100%, то тут скорее всего тушите свет.

RDP это терминальный вариант ты имеешь ввиду?

Да.

Как вариант, что предпочтительней, шара с базами на хосте, или пусть всё лежит на госте, cache=writeback сделал?

Предпочтительнее базу положить в папку на терминальном сервере. Торговое оборудование пробросить по RDP протоколу. Шара где бы это не было это не эффектино в случае с 1С7.7, хоть на хосте, хоть в госте.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)

второй eutron в отказ пошёл

К сожалению не все типы USB устройств в силу разных причин могут быть проброшены. Может в вашем случае и драйвер виноват конечно.

petav ★★★★★
()
Ответ на: комментарий от petav
processor : 3
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 965 Processor
stepping : 3
cpu MHz : 3415.983
cache size : 512 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6830.65
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

выходит у меня 4 проца с 16 ядрами, и того потоков будет 64 размечать надо

<vcpu>16</vcpu>
<cpu>
  <topology sockets='1' cores='16' threads='1'/>
</cpu>
у меня же щас так

<vcpu>3</vcpu>
<os>
<type arch='x86_64' machine='pc-0.12'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<cpu>
<topology sockets='1' cores='3' threads='1'/>
</cpu>

будем исправлять, да я видать совсем не врубаюсь в то что делаю ((((

Шара где бы это не было это не эффектино в случае с 1С7.7, хоть на хосте, хоть в госте.

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

К сожалению не все типы USB устройств в силу разных причин могут быть проброшены. Может в вашем случае и драйвер виноват конечно.

Может действительно в win7 дело, с usb прокидыванием там корявенько как то, есть по идее win2003, но не совсем лицензионный, тоесть он шёл со старым серваком когда-то, и я так понял что лицензия предоставлена для производителя, но вопросы лицензирование винды меня вгоняют в ступор, хз если старый вырубить а гостя на win2003 перевести и ключ ему скормить, на сколько это будет полит корректно

rudra
() автор топика
Ответ на: комментарий от rudra

ИМХО пусть на хосте на одном лежит, чтобы уменьшить нагрузку на сеть в виртуальной машине.

DALDON ★★★★★
()
Ответ на: комментарий от petav

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

dyasny ★★★★★
()

Install virtio windows drivers, change net and disk drivers to virtio. Make backup first.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от petav

показывает 12 процессоров с 6 ядрами, т.е. 72 потока.

ну конечно, 6 ядер по два SMT потока в каждом и того 12.

core id		: 0
core id         : 5

лучше вот такую софтину юзать http://software.intel.com/en-us/articles/intel-64-architecture-processor-topo...

dimon555 ★★★★★
()
Ответ на: комментарий от dyasny

Ну в общем случае лучше всего потоки вязать к хардварным потокам, учитывая и их особенности (т.е. например два HT-потока передавать как одно двухпоточное ядро с соответствующими привязками)

pekmop1024 ★★★★★
()
Ответ на: комментарий от dimon555

Это покажет точную физическую топологию, но ведь виртуальным машинам отдаются не ядра, а потоки. Поправьте меня если я не прав.

petav ★★★★★
()
Ответ на: комментарий от rudra

всех в терминал?

Иначе от 1с7 не добиться высокой производительности.

боюсь не потянет, в данный момент работает на сыплющемся железе, там через шары всё организованно.

Ну если работает и устраивает почему бы и нет.

Может действительно в win7 дело, с usb прокидыванием там корявенько как то

Полагаю что проблемы на стороне гипервизора. Вряли дело в версиях Win. Если устройство нормально работает на голом Win7 то дело более чем вероятно в гипервизоре.

хз если старый вырубить а гостя на win2003 перевести и ключ ему скормить, на сколько это будет полит корректно

если в один момент времени будет работать одна копия, то нарушения лицензии не будет. Только надо иметь ввиду, что лицензия в 2003 привязана к hardware (ИМХО с 2008 появились «виртуальные лицензии», которые не слетают при модификациях архитектуры). Я к тому что если портировать существующую систему, то придется либо в точности повторять архитектуру реципиента, либо переактивировать windows по телефону, что ни какой сложности не вызовет.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 2)
Ответ на: комментарий от petav

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

dyasny ★★★★★
()
Ответ на: комментарий от pekmop1024

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

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

HT для математики не годится (FPU-то общие на двухпоточное ядро). Потому ничего удивительного, что на рендер-фермах проседало. :)

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

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

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

там где таски в процессоре могут не выполниться из-за iowait

ммм, если ты про тот iowait что в top то это не то. HT это второй пайплайн который запускается когда простаивает первый, например, из-за ожидания данных по шине памяти. В этом случае есть шансы что данные нужные для второго пайплайна уже есть в кэшах. Или если первый пайплайн не использует процессорные блоки которые нужны второму.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

ммм, если ты про тот iowait что в top то это не то.

нет, я как раз о том что таск попадает в шедулер, но не может выполниться потому что еще не получил данные. то бишь как раз то что ты и описал.

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

dyasny ★★★★★
()
Ответ на: комментарий от petav

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

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

dimon555 ★★★★★
()
Ответ на: комментарий от dyasny

таск попадает в шедулер, но не может выполниться потому что еще не получил данные

я думаю таски которые висят в iowait (uninterruptable sleep) спят, они не шедулятся пока результат системных вызовов не будет готов.

true_admin ★★★★★
()
Ответ на: комментарий от petav

в целом сделал на win2003, работает так же как и на старом железе, ни прибавки ни убавки скорости пока никто не заметил (я ещё не озвучил что 1с уже переехала) в отличии от win7 флешки и ключи прокидываются без проблем, в семерке были сложности с SmartKey от Eutron

rudra
() автор топика
Ответ на: комментарий от petav

как то даже не подумал в сторону самбы, имеет смысл?

rudra
() автор топика
Ответ на: комментарий от rudra

нет средствами самой винды

Это вы о чем? Я интересовался Вы через RDP работаете или в файловом варианте по сети. Если по сети, то где базы, на госте или на хосте?

petav ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.