![]() |
![]() |
selis76 17.06.2004 - 11:41 |
Что можно предложить в данной ситуации? (карты канал и т.д.)? Есть две машины соединенные напрямую (кроссом ) кабелем в сети 100Мегабит\full duplex есть приложение (1с для Sql) на одной машине (А Win2000) и SQL сервер на другой (B Win2000) используемый протокол TCP. Анализ работы показал что c машины (А) отправляется запрос на извлечение очередной порции данный, а машина (B) возращает результат. Т.е. идет двунаправленный траффик. Хотя канал и Full duplex траффик получается Half duplex из-за организации работы приложения. При этом трафик с машины А 30% от общего а с машины (B) 70%. Если судить по счетчикам для Network Interface в win2000 (которые показывают весь траффик карты) при работе приложения общий (туда сюда) 600 кбайт\с при этом в это время можно копировать файлы на скорости 3000 кбайт\ при свободном канале файлы можно копировать на скорости 6000-7000кбайт\с Очевидно приложение 1С не использует полностью сетевой канал. Думаю что это происходит из-за задержек (процессор А кладет пакеты в порты карты-> карта пересылает пакетs->получает подтверждение (TCP всетаки)-> и только потом SQL Server отвечает. Процессоры как ПК А так B не загружены больше чем на 40-50%! Вопрос: Можно ли как нибудь увеличить быстродействие и снизить задержек (например специальные карты)? Вообще я рассматривал идею кластера т.е. 1С +Citrix на одном сервере SQL Server на другом, но тогда нужен между ними какой то быстрый канал (что можете предложить можно не Ethernet??? |
lithium 1 - 17.06.2004 - 12:46 | с дисков показания счетчиков не пробовал снимать? |
Stepan Razin 2 - 17.06.2004 - 13:00 |
Между SQL-сервером и Терминальным сервером достаточно 1Gb. Ну, если мало, то транк из 2-х гигабитных карт. А зачем тебе и SQL и Терминал? База огромная? Какой размер у базы? |
selis76 3 - 17.06.2004 - 14:42 |
To lithium С дисков снимал показания и не очередь не загружена и обмем смешной 50Килобай\с To Stepan Razin База небольшая (400 мегабайт - журналы зарплаты вообще занимают не более 120 мегабайт с индексами) sql сервер из оперативки отбирает всего 150М. Т.е. ресурсов свободных куча. Кроме как на задержки - процессор положил данные в порт карты - > карта отправила -> другая карта приняла -> положила в порт. Грешить не куда. Канал то используется меньше чем на 10% (да и тестировал я это на кросс кабеле) Вот не знаю у 1Gb ethernet такая же идеология пересылки данных в карты (через порты) или там есть что то вроде DMA? У меня перед глазами есть пример сервера Sun Microsystems так так стойка c HDD соединяется с системным блоком через оптоволокно длинной 15 метров. Нет ли чего нибудь подобного для Intel? Дело как я понимаю в задержка на уровне процессор-> порты карты. Кстати как объяснить что файлы даже при встречном копировании копируются на скорости 3000кбайт\с? т.е. в сумме 6000кб\с Ведь наверно дело не только в длине пакета? |
selis76 4 - 17.06.2004 - 14:45 |
Кстати про терминал я рассматриваю, так как вижу что при данной структуре 1С максимальную производительность можно выжать только в связке SQL на одном пк Citrix на другом. А мне хотелось именно большое быстродействие Осталось понять чем это все соединить. |
Stepan Razin 5 - 17.06.2004 - 15:02 | (4): Ты заблуждаешься! SQL не даст тебе прироста в скорости. При таком размере баз тебе достаточно одного терминала! SQL нужен, когда размер баз очень большой (>1.5-2 Gb) и пользователей уйма. Иначе - он только тормозить твою систему будет. |
selis76 6 - 17.06.2004 - 16:42 | SQL зато избавит меня от монопольного режима. А потом он меньше процессор грузит как на сервере так и на клиенте (проверял). Я рассчитываю на то что мы ставим крутой сервер (с 2-4 процессорами и большими мегагерцами)+ Citrix на другой поскромнее. Но вот из того что я написал получается что 1С не может по Ethernet использовать все ресурсы как процессора так и сети (из-за задержек пересылки) |