|
v7: Подскажите про корректировку dbeng32.dll | ☑ | ||
---|---|---|---|---|
0
andrey995
14.01.07
✎
15:30
|
Пробегало на форуме
"самый простой способ включить кэширование записи для всех файлов- отключить вызов FlushFileBuffers(hFile). для этого для платформы 7.70.025 надо пропатчить файлик dbeng32.dll: ищем последовательность "50 FF 15 40 C0 11 1F", заменяем на "B8 FF FF FF FF 90 90". Теперь 1С не будет делать принудительный сброс файловых буферов на диск при каждой записи, т.е. запись на диск будет кэшироваться и сброс файловых буферов будет делаться средствами самой ОС (для NTFS каждые несколько секунд). Значительно уменьшается фрагментация файлов на диске и отпадает необходимость помещать временные файлы на RAM-диск. Этот метод дает очень хорошие результаты для локального и терминального режимов. Использовать это для сетевого режима не рекомендую, т.к. не тестил и вероятно может привести к повреждению базы." Сделал все как написано, запись в файлы в локальной правда летает (перепроведение и тп) ВОПРОС - какие опасности с использованием в СЕТЕВОМ режиме, какова природа этих глюков и причины возможного повреждения базы ? |
|||
1
Добрый_Злой Лемур
14.01.07
✎
15:43
|
(0)Если внезапно пропадет питание и данные в кэше, то они будут потеряны. Мало того, при этом может быть нарушена целостность базы. Соответственно, чем дольше данные хранятся в кеше, тем выше вероятность повреждения базы. Если будут резервные копии и есть UPS, то, думаю, ничего страшного не будет.
А по поводу RAM-диска - лучше изменить настройки на увеличение кеш-памяти. Эффективность будет выше. Где ты такой метод вычитал? |
|||
2
Добрый_Злой Лемур
14.01.07
✎
15:44
|
Кстати, здесь еще про это написано v8: База данных на RAM-Diske
|
|||
3
Добрый_Злой Лемур
14.01.07
✎
15:46
|
(2)оттуда ты это и взял, похоже.
|
|||
4
andrey995
14.01.07
✎
15:54
|
(2), (3) Спасибо,
Да, вычитал про метод именно там, и метод очень понравился если все дело лишь в пропадании питания - то овчинка стоит имхо выделки (ограничение по стабильности питания сохранится и локальном варианте) я предполагал что раз говорили про сетевую версию то и возможный глюк кроется в сетевых особенностях организации доступа спецы по сетям, отзовитесь !!! |
|||
5
mszsuz
14.01.07
✎
17:36
|
Проверил патч на перепроведении документов -
- ускорение более чем в два раза! |
|||
6
Морозов Александр
14.01.07
✎
17:38
|
нет чтоб кто патчик сделал...
|
|||
7
mszsuz
14.01.07
✎
18:30
|
Найди на iFolder под номером 867273
|
|||
8
andrey995
15.01.07
✎
00:35
|
(5) на локальной / сетевой смотрел ? есть ли что добавить про возможные глюки сетевой ?
|
|||
9
Матрейя
15.01.07
✎
00:41
|
8. никаких глюков... кроме выборки данных из кеша, но маловероятно.
|
|||
10
Матрейя
15.01.07
✎
00:47
|
+9 то есть неактуальных данных
|
|||
11
andrey995
15.01.07
✎
00:50
|
(9) всмысле из-за пропадания питания или как ?
"кроме выборки данных из кеша, но маловероятно" - как бы поточнее оценить вероятность ? где можно покопать инфу самому чтобы знать и принять решение ставить на живую базу? (9), (10) спасибо |
|||
12
Матрейя
15.01.07
✎
00:52
|
11. все консультации на www.itpb.ru/forum4
|
|||
13
romix
15.01.07
✎
01:56
|
(0) Интересный способ, дополнил статью:
Книга знаний: Ускорение 1С:Предприятие 7.7 В сетевом режиме отличий быть не должно. |
|||
14
andrey995
15.01.07
✎
08:03
|
Интересно, сложится ли эффект при доп использовании с прогой SuperCache ? или они занимаются одним и тем же ?
|
|||
15
smaharbA
15.01.07
✎
08:09
|
А в скуль что сбрасывать ? :)
|
|||
16
smaharbA
15.01.07
✎
08:30
|
||||
17
andrey995
15.01.07
✎
08:36
|
(16) что это там и как работает?
|
|||
18
Прохожий
15.01.07
✎
08:37
|
(17) Вот это там
********* <html> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> <HTA:APPLICATION ID="pat" APPLICATIONNAME="pat" BORDER="dialog" BORDERSTYLE="normal" CAPTION="yes" ICON="1.ico" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="yes" SHOWINTASKBAR="yes" SINGLEINSTANCE="no" SELECTION ="yes" SYSMENU="yes" VERSION="1.0" WINDOWSTATE="normal" width=200px scroll=no contextmenu=no /> <script language=vbscript> call self.resizeTo(500,200) call self.moveTo(screen.Width/2-250,screen.Height/2-100) function replaceinfile(file,arr_who,arr_is) dim r,r2,ss Set fso = CreateObject("Scripting.FileSystemObject") fso.GetFile(File).copy File & ".bak",-1 for each c in arr_who r=r & chr(clng("&H" & c)) next for each c in arr_is r2=r2 & chr(clng("&H" & c)) next set s=createobject("ADODB.Stream") s.type=2 s.charset="windows-1251" s.open s.loadfromfile(File) ss=s.readtext s.position=0 s.writetext(replace(ss,r,r2)) s.position=0 s.type=1 s.position=0 ss=s.read s.close s.open s.write(ss) call s.savetofile(File,2) end function function patch() Set fso = CreateObject("Scripting.FileSystemObject") set wshshell= CreateObject("WScript.Shell") if document.all.key.checked then File=document.all.filep.value if trim(File)="" then elseif (fso.GetFileVersion(File)="7.70.0.26") or (fso.GetFileVersion(File)="7.70.0.25") then arr=split("B9B0:33,B9B1:C0,B9B2:40,B9B3:C3,B9B4:90,213C7:C3,2142A:C3,220A5:66,220A6:81,220A7:FB,220A8:0,220A9:3,220AA:75,220AB:2C,220AC:33,220AD:C9,220AE:8B,220AF:D9,220B0:57,220B1:66,220B2:83,220B3:FF,220B4:1F,220B5:77,220B6:16,220B7:E8,220B8:0,220B9:0,220BA:0,220BB:0,220BC:58,220BD:66,220BE:3,220BF:FF,220C0:66,220C1:3,220C2:C7,220C3:5,220C4:FC,220C5:0,220C6:0,220C7:0,220C8:66,220C9:8B,220CA:18,220CB:58,220CC:C3,220CD:58,220CE:66,220CF:81,220D0:FF,220D1:F8,220D2:FF,220D3:74,220D4:11,220D5:49,220D6:49,220D7:C3,220D8:66,220D9:81,220DA:FB,220DB:0,220DC:6,220DD:75,220DE:D,220DF:33,220E0:C9,220E1:B8,220E2:5E,220E3:E3,220E4:0,220E5:0,220E6:BB,220E7:2A,220E8:63,220E9:0,220EA:0,220EB:C3,220EC:66,220ED:81,220EE:FB,220EF:0,220F0:2,220F1:74,220F2:18,220F3:E8,220F5:0,220F6:0,220F7:0,220F8:5E,220F9:81,220FA:C6,220FB:10,220FC:1,220FD:0,220FE:0,220FF:8B,22100:F8,22101:8B,22102:D0,22103:B9,22104:20,22105:0,22106:0,22107:0,22108:F3,22109:A4,2210A:C3,2210B:66,2210C:B,2210D:C9,2210E:75,2210F:1A,22110:66,22111:B,22112:D2,22113:75,22114:15,22115:B8,22116:58,22117:BB,22118:0,2211A:BB,2211B:1F,2211C:E1,2211D:0,2211E:0,2211F:B9,22120:86,22121:7A,22122:0,22123:0,22124:BA,22125:D9,22126:DC,22128:0,22129:C3,2212A:66,2212B:83,2212C:F9,2212D:5,2212E:75,2212F:E,22130:66,22131:83,22132:FA,22133:5,22134:75,22135:8,22136:33,22137:C0,22138:8B,22139:D8,2213A:8B,2213B:C8,2213C:99,2213D:C3,2213E:F,2213F:B7,22140:C0,22141:66,22142:52,22143:66,22144:51,22145:5D,22146:81,22147:F5,22148:66,22149:19,2214A:7,2214B:9,2214C:33,2214D:C9,2214E:8B,2214F:D9,22150:8B,22151:D1,22152:E8,22153:1F,22154:0,22155:0,22156:0,22157:66,22158:53,22159:E8,2215A:18,2215B:0,2215C:0,2215D:0,2215E:66,2215F:53,22160:E8,22161:11,22162:0,22163:0,22164:0,22165:66,22166:53,22167:E8,22168:A,22169:0,2216A:0,2216B:0,2216C:66,2216D:8B,2216E:D3,2216F:66,22170:59,22171:66,22172:5B,22173:66,22174:58,22175:C3,22176:66,22177:BA,22178:10,22179:0,2217A:66,2217B:69,2217C:C0,2217D:89,2217E:19,2217F:66,22180:5,22181:5,22183:66,22184:50,22185:8A,22186:CC,22187:D0,22188:E9,22189:80,2218A:E1,2218B:7,2218C:8A,2218D:E9,2218E:D0,2218F:E1,22190:2,22191:CD,22192:8B,22193:FD,22194:D3,22195:EF,22196:66,22197:8B,22198:CF,22199:FE,2219A:C9,2219B:80,2219C:E1,2219D:7,2219E:80,2219F:CC,221A0:80,221A1:D0,221A2:E9,221A3:73,221A4:2,221A5:F6,221A6:D4,221A7:80,221A8:C1,221A9:5,221AA:D2,221AB:EC,221AC:66,221AD:D1,221AE:D3,221AF:66,221B0:58,221B1:66,221B2:4A,221B3:75,221B4:C5,221B5:86,221B6:DF,221B7:C3,221B8:0,221B9:0,221BA:0,221BB:0,221BC:4D,221BE:64,221BF:0,221C0:0,221C1:0,221C2:1,221C4:7,221C5:0,221C6:12,221C7:0,221C8:1F,221C9:0,221CA:30,221CB:0,221CC:44,221CD:0,221CE:5B,221CF:0,221D0:75,221D2:92,221D3:0,221D4:B3,221D5:0,221D6:D6,221D7:0,221D8:FD,221D9:0,221DA:0,221DB:0,221DC:20,221DD:0,221DE:5F,221E0:FF,221E1:1,221E2:7,221E3:0,221E4:32,221E5:0,221E6:3C,221E7:0,221E8:5,221E9:0,221EA:FF,221EC:FF,221ED:FF,221EE:FF,221EF:FF,221F0:FF,221F1:FF,221F2:FF,221F3:FF,221F4:FF,221F5:FF,221F6:FF,221F7:FF,221F8:FF,221F9:FF,221FA:FF,221FB:FF,221FC:FF,221FD:FF,221FE:FF,221FF:FF,22200:FF,22201:FF,22202:FF,22203:FF,22204:FF,22205:FF,22206:FF,22207:FF,22208:B7,22209:DD,2220A:40,2220B:2F,2220C:D,2220D:52,2220E:14,2220F:46,22210:60,22211:B6,22212:2D,22213:8B,22214:44,22215:50,22216:E2,22217:3F,22218:26,22219:DC,2221A:48,2221B:38,2221C:7F,2221D:BD,2221E:B0,2221F:5B,22220:33,22221:61,22222:F2,22223:A8,22224:72,22225:A2,22226:83,22227:CD,35D5C:FF,35D5D:1,35D5E:2,35D5F:3,35D60:4,35D61:5,35D62:6,35D63:32,35D64:33,35D65:FF,35D66:FF,35D67:1,35D68:2,35D69:3,35D6A:4,35D6B:5,35D6C:6,35D6D:32,35D6E:33,35D6F:FF,35D70:FF,35D71:FF,35D72:FF,37B37:33,37B38:C0,37B39:90,37B3A:90,37B3B:90",",") fso.GetFile(File).copy File & ".bak",-1 set s=createobject("ADODB.Stream") ss="" s.type=2 s.charset="windows-1251" s.open s.loadfromfile(File) ss=s.readtext for i=0 to ubound(arr) ss=left(ss,clng("&H" & split(arr(i),":")(0))) & chr(clng("&H" & split(arr(i),":")(1))) & mid(ss,clng("&H" & split(arr(i),":")(0))+2) next s.position=0 s.writetext(ss) s.position=0 s.type=1 s.position=0 ss=s.read s.close s.open s.write(ss) call s.savetofile(File,2) else msgbox "Это не 26/25!!! Снимаю только ""загадку""...",4096+16,"Это не 26!!! Снимаю только ""загадку""..." end if document.all.key.checked=false end if if document.all.pass.checked then File=fso.GetFile(File).parentfolder & "\seven.dll" if not fso.FileExists(File) then msgbox "Нету файлика ""загадки""!!!...",4096+16,"Нету файлика ""загадки""!!!..." else arr_who=split("E8 4D F8 FF FF 83 C4 08 85 C0 5F 75 32 8B 54 24 48 50 50 68 02 80 00 00 8B 42"," ") arr_is=split("56 57 8B F0 8B F9 B9 20 00 00 00 F3 A4 5F 5E E8 3E F8 FF FF 83 C4 08 5F EB 25"," ") call replaceinfile(file,arr_who,arr_is) end if document.all.pass.checked=false end if if document.all.MSSQL2005.checked then File=fso.getfile(document.all.filep.value).ParentFolder & "\BkEnd.dll" msgbox File if (trim(File)="") or (fso.fileexists(File)=false) then else arr_who=split("83,E8,06",",") arr_is=split("83,E8,07",",") call replaceinfile(file,arr_who,arr_is) document.all.MSSQL2005.checked=false end if end if if document.all.DBF.checked then File=fso.getfile(document.all.filep.value).ParentFolder & "\dbeng32.dll" if (trim(File)="") or (fso.fileexists(File)=false) then else arr_who=split("50,FF,15,40,C0,11,1F",",") arr_is=split("B8,FF,FF,FF,FF,90,90",",") call replaceinfile(file,arr_who,arr_is) document.all.DBF.checked=false end if end if end function </script> <style> body{background-color:gray} *{font-size: 10pt; font-family: "Arial", "Arial Cyr", "verdana"; margin-top: 5px;} </style> <body> <input type=file id=filep size=40 /><br> <table> <tr> <td> <input type=checkbox alt="замочек..." id=key>замочек...</input> </td> <td> <input type=checkbox alt="загадка..." id=pass>загадка...</input> </td> <td> <input type=checkbox alt="MSSQL2005..." id=MSSQL2005>MSSQL2005...</input> </td> <td> <input type=checkbox alt="Кэшируем файловую..." id=DBF>Кэшируем...</input> </td> </tr> <tr> <td> <input type=button alt="Старт..." id="start" value="Старт..." onclick='patch()' /> </td> </tr> <tr> <td id=p1> </td> <td id=p2> </td> <td id=p3> </td> </tr> </table> </body> </html> ... Ну и работает соответственно... |
|||
19
andrey995
15.01.07
✎
08:45
|
(18) этот код я увидел там, не понятно "загадка" и "замочек" ...
эх-х... |
|||
20
ASV
15.01.07
✎
09:06
|
(19) document.all.здесь ключевое слово
|
|||
21
andrey995
15.01.07
✎
09:20
|
(20) если невозможно здесь написать может быть возможно написать на почту назначение этих пунктов ?
|
|||
22
andrey995
15.01.07
✎
11:06
|
ап !
|
|||
23
smaharbA
15.01.07
✎
12:16
|
(22) поэксперементи и поймешь...
|
|||
24
smaharbA
15.01.07
✎
12:20
|
Кстати на счет "замочка", что только для 25 и 26, "вранье", проверено с 21 до 27...
немного переделать - if trim(File)="" then elseif clng(right(fso.GetFileVersion(File),2))>20 AND clng(right(fso.GetFileVersion(File),2))<=27 then |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |