You are not logged in.
Pages: 1
Hello,
I want to start a TSQLHttpServer on the Linux command line. The server should simply listen to requests of a client - the same as in example 04, but just as plain console program instead of a GUI application.
I could simply start the server and then loop forever until a key is pressed to quit the application. But for the user-experience, I would like to print all requests that are sent to the server in the console. Is this somehow possible?
I have no experience with the TSQLHttpServer, so any advice would be welcome! :-)
Btw, I'm using FPC and Lazarus with mORMot...
Update and good progress here:
On both systems I accidently compiled mORMot with my system wide FPC 3.0.4 version instead of the fpcupdeluxe trunk version - so now on my elementaryOS system I've changed the fpc command in the build-fpc-linux64.sh file to point to the fpcupdeluxe trunk version of the Free Pascal compiler. After compiling mORMot and running the tests again, nearly all tests passed fine, only 12 assertions failed! Here are the new results: https://www.dropbox.com/s/vnetsnm0s54tv … k.log?dl=0
I have done another test, this time I used mORMot via fpcupdeluxe (for the first test I cloned mORMot from the Git master branch), and this time it was more successfull, although some tests failed again. You can find the output here: https://www.dropbox.com/s/9lcpu61jk2elc … t.log?dl=0 (edit: I have uploaded the wrong file, sorry, now it's the correct one).
I don't know how critical the errors are for my use case. I want to setup a simple restful webservice with both, a native GUI client and a web based browser client (not served via mORMot). So the role of mORMot is the restful API service and the native client...
Hi Arnaud,
I've run the tests today on Fedora 27, with different results, but it gets stuck again, this time at "2.1. File based". Section "1.6. Protocols" raises an Access violation. Here is what I got:
Synopse mORMot Framework Automated tests
------------------------------------------
1. Synopse libraries
1.1. Low level common:
- System copy record: 83 assertions passed 98us
- TRawUTF8List: 130,009 assertions passed 193.62ms
- TDynArray: 1,089,782 assertions passed 403.18ms
- TDynArrayHashed: 1,200,629 assertions passed 221.24ms
- TObjectListHashed: 999,780 assertions passed 986.45ms
- TObjectListSorted: 79,916 assertions passed 129.16ms
- TSynNameValue: 40,032 assertions passed 25.33ms
! - TRawUTF8Interning: 2 / 2,000,013 FAILED 428.62ms
500000 interning 8192 B in 120.54ms i.e. 4147794/s, aver. 0us, 63.2 MB/s
500000 direct 7.6 MB in 40.15ms i.e. 12452059/s, aver. 0us, 190 MB/s
- TObjectDynArrayWrapper: 167,501 assertions passed 44.00ms
- TObjArray: 3,230 assertions passed 3.62ms
- Fast string compare: 24 assertions passed 5us
- IdemPropName: 197 assertions passed 33us
- Url encoding: 150 assertions passed 3.98ms
- GUID: 9,005 assertions passed 10.97ms
- IsMatch: 599 assertions passed 217us
- Soundex: 35 assertions passed 22us
[1;36m[1;37m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[1;31m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0; - Numerical conversions: 1,145,203 assertions passed 556.95ms
- crc32c: 300,064 assertions passed 517.01ms
pas 156 MB/s fast 376.3 MB/s sse42 4.7 GB/s sse42+aesni 6.9 GB/s
- Random32: 201,002 assertions passed 44.21ms
- Bloom filters: 2,010,072 assertions passed 487.00ms
- Curr 64: 20,053 assertions passed 2.07ms
- CamelCase: 11 assertions passed 8us
- Bits: 4,774 assertions passed 126us
- Ini files: 7,004 assertions passed 69.71ms
- UTF8: 100,154 assertions passed 1.53s
- Baudot code: 10,007 assertions passed 62.78ms
- Iso 8601 date and time: 76,021 assertions passed 11.41ms
- Time zones: 398 assertions passed 302us
- Url decoding: 1,100 assertions passed 317us
- Mime types: 30 assertions passed 42us
- Quick select: 4,015 assertions passed 255.57ms
- TSynTable: 875 assertions passed 9.20ms
- TSynCache: 404 assertions passed 108us
- TSynFilter: 804 assertions passed 9.06ms
- TSynValidate: 677 assertions passed 1.56ms
32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m - TSynLogFile: 43 assertions passed 963us
- TSynUniqueIdentifier: 1,300,002 assertions passed 850.65ms
- TSynDictionary: 119,930 assertions passed 99.33ms
Total failed: 2 / 11,023,628 - Low level common FAILED 6.96s
1.2. Low level types:
- RTTI: 443 assertions passed 504us
- Url encoding: 200 assertions passed 1.24ms
- Encode decode JSON: 394,802 assertions passed 494.05ms
- Variants: 64 assertions passed 35us
- Mustache renderer: 147 assertions passed 2.66ms
- TDocVariant: 71,750 assertions passed 149.33ms
- TDecimal128: 17,446 assertions passed 4.05ms
- BSON: no assertion 4us
- TSynTableStatement: 221 assertions passed 140us
- TSynMonitorUsage: 1,202 assertions passed 170us
Total failed: 0 / 486,275 - Low level types PASSED 652.25ms
1.3. Cryptographic routines:
- Adler32: 1 assertion passed 13us
- MD5: 167 assertions passed 590us
- SHA1: 13 assertions passed 21.18ms
[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;31m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;32m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;3 - SHA256: 40 assertions passed 98.79ms
using SSE4 instruction set
- SHA512: 27 assertions passed 34.57ms
- SHA3: 8,225 assertions passed 181.02ms
- AES256: 18,100 assertions passed 654.48ms
cypher 1..450 bytes with AES-NI: 485us, without: 3.06ms
- RC4: 1,011 assertions passed 14.21ms
- Base64: 13,992 assertions passed 605.48ms
- CompressShaAes: 1,683 assertions passed 6.74ms
! Cryptographic routines - TAESPNRG
! Exception EAccessViolation raised with messsage:
! Access violation
- CryptDataForCurrentUser: 5,000 assertions passed 16.35ms
2000 AES-CFB in 15.81ms i.e. 126478/s, aver. 7us, 65.9 MB/s
- JWT: 162,736 assertions passed 368.25ms
1000 HS256 in 5.48ms i.e. 182315/s, aver. 5us
1000 HS384 in 3.34ms i.e. 299222/s, aver. 3us
1000 HS512 in 3.45ms i.e. 289351/s, aver. 3us
1000 S3224 in 3.06ms i.e. 326583/s, aver. 3us
1000 S3256 in 3.09ms i.e. 323101/s, aver. 3us
1000 S3384 in 3.17ms i.e. 314960/s, aver. 3us
1000 S3512 in 3.20ms i.e. 312500/s, aver. 3us
1000 S3S128 in 3.07ms i.e. 325203/s, aver. 3us
1000 S3S256 in 3.25ms i.e. 307408/s, aver. 3us
100 ES256 in 115.32ms i.e. 867/s, aver. 1.15ms
- Benchmark: 55,000 assertions passed 887.27ms
2500 crc32c in 427us i.e. 5854800/s or 12.1 GB/s
2500 xxhash32 in 1.45ms i.e. 1714677/s or 3.5 GB/s
2500 md5 in 40.11ms i.e. 62320/s or 132.6 MB/s
2500 sha1 in 68.71ms i.e. 36383/s or 77.4 MB/s
2500 hmacsha1 in 75.89ms i.e. 32938/s or 70.1 MB/s
2500 sha256 in 82.49ms i.e. 30303/s or 64.4 MB/s
2500 hmacsha256 in 89.42ms i.e. 27957/s or 59.5 MB/s
2500 sha512 in 20.56ms i.e. 121595/s or 258.7 MB/s
2500 hmacsha512 in 24.63ms i.e. 101477/s or 215.9 MB/s
2500 sha3_256 in 61.41ms i.e. 40709/s or 86.6 MB/s
2500 sha3_512 in 110.99ms i.e. 22523/s or 47.9 MB/s
2500 rc4 in 52.32ms i.e. 47777/s or 101.6 MB/s
2500 aes128cfb in 12.78ms i.e. 195602/s or 416.2 MB/s
2500 aes128ofb in 8.44ms i.e. 296138/s or 630.2 MB/s
2500 aes128cfbcrc in 26.91ms i.e. 92898/s or 197.7 MB/s
2500 aes128ofbcrc in 26.43ms i.e. 94564/s or 201.2 MB/s
2500 aes256cfb in 15.71ms i.e. 159073/s or 338.5 MB/s
2500 aes256ofb in 12.57ms i.e. 198791/s or 423 MB/s
2500 aes256cfbcrc in 29.93ms i.e. 83514/s or 177.7 MB/s
2500 aes256ofbcrc in 28.90ms i.e. 86499/s or 184 MB/s
2500 shake128 in 40.82ms i.e. 61239/s or 130.3 MB/s
2500 shake256 in 55.26ms i.e. 45238/s or 96.2 MB/s
Total failed: 0 / 269,830 - Cryptographic routines PASSED 2.89s
1.4. ECC cryptography:
- Reference vectors: 23 assertions passed 18.99ms
- ecc_make_key: 200 assertions passed 182.06ms
- ecdsa_sign: 200 assertions passed 190.08ms
- ecdsa_verify: 200 assertions passed 232.21ms
- ecdh_shared_secret: 597 assertions passed 395.74ms
- Certificates and signatures: 91 assertions passed 57.79ms
7m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[1;31m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;32m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[ - ECC command line tool: 469 assertions passed 422.19ms
- ECDHE stream protocol: 521,295 assertions passed 1.69s
Total failed: 0 / 523,075 - ECC cryptography PASSED 3.18s
1.5. Compression:
- In memory compression: 12 assertions passed 1.25s
- GZIP format: 19 assertions passed 2.70s
- SynLZO: 3,006 assertions passed 698.92ms
- SynLZ: 30,217 assertions passed 1.36s
- TAlgoCompress: 914 assertions passed 74.16ms
TAlgoSynLZ 169 KB->79 KB: comp 167:78MB/s decomp 183:392MB/s
TAlgoLizard 169 KB->66 KB: comp 13:5MB/s decomp 448:1147MB/s
TAlgoLizardFast 169 KB->87 KB: comp 219:113MB/s decomp 629:1216MB/s
TAlgoLizardHuffman 169 KB->81 KB: comp 92:44MB/s decomp 462:955MB/s
TAlgoDeflate 169 KB->38 KB: comp 8:1MB/s decomp 22:101MB/s
TAlgoDeflateFast 169 KB->46 KB: comp 21:6MB/s decomp 29:106MB/s
Total failed: 0 / 34,168 - Compression PASSED 6.09s
1.6. Protocols:
! Protocols - RTSP over HTTP
! Exception EAccessViolation raised with messsage:
! Access violation
2. mORMot
2.1. File based:
- Database direct access: 20,259 assertions passed 89.65ms
- Virtual table direct access: 12 assertions passed 514us
- TSQLTableJSON: 144,070 assertions passed 162.24ms
Hi Arnaud, any news on this issue? I will test it today with a Fedora system...
Yes I did. It now runs for about an hour the third time ;-)
Hello,
It is the first time I try mORMot and I could not find an answer in this forum, so I hope someone can help :-)
I've compiled mORMot with FPC 3.0.4 on Linux x86_64 (elementaryOS Loki, which is an Ubuntu 16.04LTS). The compilation was fine without errors (just some warnings).
Now I started the TestSQL3 binary to run the tests, there where two errors (TRawUTF8Interning and ECC cryptography - ECDHE stream protocol) and now the whole program is stuck at "1.6. Protocols". Nothings happens, no error, no exit, nothing ;-)
Any advice? Thanks and best regards,
Marc
Pages: 1