Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Прямой доступ из php обеспечивает шлюз MGWSI 2.0.95 http://gradvs1.mgateway.com Пример кода на php <?php set_time_limit(180); $a=time(); echo '<p>Старт записи</p>'; //// k ^Customer m_kill("^Customer"); /// f i=1:1:1000 s ^Customer(i)="test" for ($i=1;$i<1000;$i++) m_set("^Customer",$i,"test"); //echo '<p>Конец:'.date("H:i:s").'</p>'; $b=time(); $b=$b-$a; echo '<p>Затрачено времени:'.$b.' сек.'; $a=time(); echo '<p>Старт чтения</p>'; // s nextID="" f s nextID=$o(^Customer(nextID)) q:nextID="" s c=$g(^Customer(nextID)) $nextID=m_order("^Customer",""); while ($nextID!='') { $c=m_get("^Customer",$nextID); //echo '<p>'.$nextID.'='.$c.'</p>'; $nextID=m_order("^Customer",$nextID); } $b=time(); $b=$b-$a; echo '<p>Затрачено времени:'.$b.' сек.'; Примерное время записи-чтения на 100 записей составляет 1 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 12:24 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
1 логично вынести k ^Customer за начало отсчёта или говорить и о удалении ( хотя разницы я не намерил) 2 странно в режиме CGI на 1 000 000 записей и чтения у меня уходит 5 сек: авторstart62508,53499 writed62508,53503 readed62508,53504 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:54 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
kalin Прямой доступ Используем M/Wire на стороне GT.M (xnetd) с собственными дополнительными модулями к нему. На стороне клиента Windows XP (Socket) Получаю примерно 100 000 строк (длина > 500 символов в каждой ! ), примерно за 1,5 с. за один раз. Отправить серверу могу за один раз строку размером 1 Mb.(позволяет переменная в GT.M) Мы работаем только строками с разделителями. Вся логика М крутится на сервере, клиент пользуется только обьектом (написана собственная dll) , те его методами и свойствами. В качестве сервера обычная PC машина. Замечено. Обращение в цикле со стороны клиента WinXP на GT.M тормозит очень процесс. Тормозит GT.M-кая сторона. Все у них отлично до невозможное, но вот сокет ... Так что лучше работать большими обьемами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:44 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот именно здесь слабое место о котором я говорил. Циклы вне GT.M на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:53 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Здесь только пример как напрямую работать с глобалами. Ясно, что быстрее выбрать массив из базы одним запросом и вернуть в php. Данный шлюз позволяет все это сделать, например вызвать метод класса или программу. Все это есть в доке. Т.к. называемый M/Wire работает через xinetd и является протоколом другого уровня и архитектуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 17:02 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
kalin Т.к. называемый M/Wire работает через xinetd и является протоколом другого уровня и архитектуры. Мы пробовали и с родным сокетом, результат тот же . Те вместо xinetd вклинили GT.M сокет родной. Примерно такая конструкция клиентского кода выполняется очень медленно Код: vbnet 1. 2. 3. С использованием Cache(MSM)-сервера, это происходит гораздо быстрее ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 17:17 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Примерно так пробовали в работе родной сокет: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 17:23 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
ValeriuС использованием Cache(MSM)-сервера, это происходит гораздо быстрее ! Потому-что нет посредников. Мне кажется вы не совсем понимаете общий механизм работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 19:37 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
4d_monster Потому-что нет посредников. Мне кажется вы не совсем понимаете общий механизм работы. Я этот вопрос поднимал неоднократно, но ответа вразумительного так и не получил http://groups.google.com/group/comp.lang.mumps/browse_thread/thread/4e4e57f74f04132/34d88ea732bd829f?lnk=gst&q=Wire#34d88ea732bd829f Сокет в GT.M реализован не так как в других реализациях М. Они сами это признают и сами советуют использовать inetd или xnetd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 21:04 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
2 kalin Пожалуйста приведите результаты для Cache и GT.M для нескольких количеств. Пробовали ли вы CGI , SCGI и если да - опишите пожалуйста результаты. ValeriuСокет в GT.M реализован не так как в других реализациях М. Они сами это признают и сами советуют использовать inetd или xnetd мне как начинающему этот вопрос очень важен, не могли бы вы кинуть ссылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 21:43 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
По вашему вопросу. Здесь тоже я поднял эту тему . Там и получил ответ. http://groups.google.com/group/comp.lang.mumps/browse_thread/thread/8152f0cd09295c7b/8af3896f9fd58219?lnk=gst&q=socket+gt#8af3896f9fd58219 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 22:26 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Главная ссылка из группы на документацию. Там не написано что сокеты не так как в остальных, там написано, что $PRINCIPAL может быть не термиалом а сокетом. Про саму реализацию сокетов я там ничего не нашёл. А вот пример работы с сокетами прошу вас (если есть возможность) проверить на Каше и GT.M в плане скорости и возможности многопоточной работы. Простую работоспособность мне хватило знаний проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 08:31 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Одно ясно, он стандартно не может работать с дочерними процессами: Because GT.M cannot pass sockets between processes we are using the following strategy: 1. Job off a real serverLink process which will listen on the port 2. Use a lock to monitor when it has completed 1. Open port 5000 in listen mode 2. Job another process which will also attempt to listen on port 5000. It will hang until this process closes the listen socket. 3. As soon as this process gets a connection, close the listen socket and start to service the the active connection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 09:42 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Я еще раз хочу подчеркнуть, скорость передачи и приема данных через сокет происходит с очень большой скорости ! при нечастых открытиях(закрытиях) сокета на стороне Linux(GT.M) Здесь вопросов даже не должно быть !!! А вот при многоразовых быстрых открытиях(закрытиях) -тормоза . Правда, это мы тестили с использованием только Windows-ой клиентской стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 10:35 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
авторОдно ясно, он стандартно не может работать с дочерними процессами: http://groups.google.com/group/comp.lang.mumps/browse_thread/thread/62da7171bef11e46/bd78530ccc0d9ca4?lnk=gst&q=Socket+child#bd78530ccc0d9ca4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 10:48 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Получается что из сэмплов мульти сервер не конкурентный. С самими сокетами всё нормально, НО они не могут быть переданы дочернему процессу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 12:24 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Еще одно внедрение было для сокетов(Technical Bulletin - GT.M V5.4-000A Release Notes), правда мы не пробовали это- MOREREADTIME http://tinco.pair.com/bhaskar/gtm/doc/articles/GTM_V5_4_000A_Release_Notes.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 13:21 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Уже пробовал. Есть конечно улучшение, но не существенные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 13:55 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
В добавок у ТС получается длюнющая цепочка: apache - php - mod - python - GT.M Вот если бы он в ПХП результат отправля бы тогда бы гораздо быстрее было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 14:10 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
To 4d_monster Так например выглядит Ваш код программы в наше приложение написанной с использованием сокетов и M/Wire: http://eltranssoft.ucoz.ru/news/valeriu_gontia/2011-08-25-18 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 17:35 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
2 Valeriu Красиво, была бы у меня windows - обязательно пользовался бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 17:45 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
4d_monster Красиво, была бы у меня windows - обязательно пользовался бы. kalin Не будет в обиду Serenji, но ... у нас летит. Установил на той же машине что наше приложение - ели двигается. Да у нас и пользователей сколько хочешь. У них постоянно нужно запускать SHELL ... У нас один раз и навсегда автоматом при запуске Linuxa ( /etc/xinetd.d/mwire) Компиляция с ловушками ошибками как у нас один в один. Я думал что мы чего-то не до учли с сокетом... Нет, я был не прав. Все делается в сравнение. Не хотел никого обидеть. Извините если что-то не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 17:48 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Valeriukalin Т.к. называемый M/Wire работает через xinetd и является протоколом другого уровня и архитектуры. Мы пробовали и с родным сокетом, результат тот же . Те вместо xinetd вклинили GT.M сокет родной. Примерно такая конструкция клиентского кода выполняется очень медленно Код: vbnet 1. 2. 3. С использованием Cache(MSM)-сервера, это происходит гораздо быстрее ! Здравствуйте! Valeriu , если не секрет - сейчас продолжаете использовать xinetd? Или как-то удалось решить проблему медленного коннекта? Что если написать простую проксирующую прослойку, которая не будет рвать коннект с GT.M но с сервером будет. У меня пока такая мысль. И еще, можно как-то с вами связаться, не через форум (тут вам ЛС не послать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2012, 18:25 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Антон Аксёнов продолжаете использовать xinetd? Или как-то удалось решить проблему медленного коннекта? Что если написать простую проксирующую прослойку, которая не будет рвать коннект с GT.M но с сервером будет. Да, только этим и пользуемся. Как бы это обяснить, конект не медленный, но вызывать Xecute в цикле на стороне клиента нету смысла, за исключением редких случаев, да и то одноразовых. Все это делает сервер и отправляет клиенту большие порции данных, а это уже происходит очень и очень быстро. За один раз клиент может отправлять серверу в виде запросов, разных данных, итд 1 Мб информации В свою очередь сервер уже может отправлять клиенту большие порции данных, конечно в пределах разумного. :) Можете писать на : gontiaval@gmail.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2012, 07:03 |
|
||
|
Работаем с Cache/GT.M из php
|
|||
|---|---|---|---|
|
#18+
Еще. Для пробы можно пробовать использовать родной сокет GT.M Т.е вместо xnetd и сравнивать результат. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2012, 08:38 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37674349&tid=1557422]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 375ms |

| 0 / 0 |
