pbxt-discuss team mailing list archive
-
pbxt-discuss team
-
Mailing list archive
-
Message #00113
PBXT "hangs" sometimes but regularly
Playing around from time to time PBXT stops doing anything:
xtstat:
time xact row rec rec rec rec rec rec rec ind ind ind ind ind ind ilog ilog ilog xlog xlog xlog xlog xlog xlog data data data data to to to xact
msec commt ins in out syncs/ms hits miss frees %use in out syncs/ms hits miss %use in out syncs/ms in out syncs msec hits miss in out syncs msec chkpt write sweep dirty
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
time xact row rec rec rec rec rec rec rec ind ind ind ind ind ind ilog ilog ilog xlog xlog xlog xlog xlog xlog data data data data to to to xact
msec commt ins in out syncs/ms hits miss frees %use in out syncs/ms hits miss %use in out syncs/ms in out syncs msec hits miss in out syncs msec chkpt write sweep dirty
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
While I suggest there should be something done.
Processlist:
| 311367 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311366 | root | localhost | test | Query | 690 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311368 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311369 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311372 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311373 | root | localhost | test | Query | 694 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311376 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311377 | root | localhost | test | Query | 698 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311379 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311380 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311382 | root | localhost | test | Query | 696 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311384 | root | localhost | test | Query | 699 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311385 | root | localhost | test | Query | 693 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311388 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311389 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311390 | root | localhost | test | Query | 696 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311391 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311392 | root | localhost | test | Query | 699 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311395 | root | localhost | test | Query | 687 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311399 | root | localhost | test | Query | 690 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311400 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311404 | root | localhost | test | Query | 694 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311405 | root | localhost | test | Query | 690 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311406 | root | localhost | test | Query | 694 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311407 | root | localhost | test | Query | 699 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311408 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311409 | root | localhost | test | Query | 688 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311411 | root | localhost | test | Query | 694 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311412 | root | localhost | test | Query | 694 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311414 | root | localhost | test | Query | 701 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311416 | root | localhost | test | Query | 696 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311419 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311422 | root | localhost | test | Query | 687 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311423 | root | localhost | test | Query | 690 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311424 | root | localhost | test | Query | 696 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311425 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311426 | root | localhost | test | Query | 691 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311427 | root | localhost | test | Query | 689 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
After a while it starts doing some tings again:
time xact row rec rec rec rec rec rec rec ind ind ind ind ind ind ilog ilog ilog xlog xlog xlog xlog xlog xlog data data data data to to to xact
msec commt ins in out syncs/ms hits miss frees %use in out syncs/ms hits miss %use in out syncs/ms in out syncs msec hits miss in out syncs msec chkpt write sweep dirty
5000 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5000 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 1049M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 1/1307 0 0 100 0 2753M 2/1 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 0 0 0 40 3/1300 0 0 0 76.0 0 0 0/0 0 0 100 0 0 1/8714 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 0 0 0 0 0/0 0 0 0 76.0 0 2906M 0/474 0 0 100 2758M 9 2/24.4t 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
ca. 110x
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
then
time xact row rec rec rec rec rec rec rec ind ind ind ind ind ind ilog ilog ilog xlog xlog xlog xlog xlog xlog data data data data to to to xact
msec commt ins in out syncs/ms hits miss frees %use in out syncs/ms hits miss %use in out syncs/ms in out syncs msec hits miss in out syncs msec chkpt write sweep dirty
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/5001 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 888M 400M 85.6M 3865
5001 8 0 0 38.7M 0/0 13.0t 2 0 76.0 98304 0 1/438 17.9t 6 100 0 274K 3/1 0 130K 2 3320 2587t 0 0 0 0 0 358M 296M 85.7M 3871
5001 0 0 0 47.2M 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 5001 3027t 0 0 0 0 0 358M 166M 85.7M 3871
5001 4 0 0 44.0M 0/0 6482 0 0 76.0 65536 288K 1/1 8888 4 100 274K 16.7M 4/10.2t 0 66560 3 852 2013t 0 0 0 0 0 358M 32.7M 85.8M 3874
5001 0 0 0 14.2M 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 852t 0 0 0 0 0 358M 5550 85.8M 3874
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 358M 5550 85.8M 3874
5001 42 0 0 0 0/0 63.8t 9 0 76.0 400K 89.3M 14/261 87.3t 25 100 84.8M 83.1M 56/17.4t 0 620K 16 15 16 0 0 0 0 0 359M 617K 86.4M 3902
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 359M 617K 86.4M 3902
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 359M 617K 86.4M 3902
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 0 0 0 0 0 0 0 359M 617K 86.4M 3902
5001 30 0 0 0 0/0 1017t 5 0 76.0 176K 70.8M 17/1489 2987t 11 100 67.3M 292M 68/17.3t 0 10.2M 19 2321 20 0 0 0 0 0 361M 10.8M 69.3M 3104
5001 0 0 0 0 0/0 247t 0 0 76.0 0 0 0/0 741t 0 100 0 0 0/0 0 0 0 5001 0 0 0 0 0 0 361M 10.8M 64.9M 2898
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 5001 0 0 0 0 0 0 361M 10.8M 64.9M 2898
5001 0 0 0 0 0/0 0 0 0 76.0 0 0 0/0 0 0 100 0 0 0/0 0 0 0 5001 0 0 0 0 0 0 361M 10.8M 64.9M 2898
5001 0 0 0 0 0/0 1850t 0 0 76.0 65536 0 0/0 5557t 4 100 0 0 0/0 0 26.9M 21 4268 45.1t 0 0 0 0 0 382M 37.7M 53.1M 1352
5001 0 0 0 0 0/0 964t 0 0 76.0 16384 254M 0/3361 2896t 1 100 241M 9 2/22.2t 0 14.0M 5 3770 36.3t 0 0 0 0 0 394M 51.7M 47.4M 549
5001 0 0 0 0 0/0 377t 0 0 76.0 288K 0 0/5001 1145t 18 100 0 0 0/0 0 8192K 1 4993 1 0 0 0 0 0 400M 59.7M 45.7M 234
and even the processlist shinks:
| 311395 | root | localhost | test | Query | 1781 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311409 | root | localhost | test | Query | 1782 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311419 | root | localhost | test | Query | 1785 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311422 | root | localhost | test | Query | 1781 | Updating | UPDATE rein SET id3=round(rand()*10000) where id2=@id |
| 311429 | root | localhost | test | Sleep | 750 | | NULL |
MariaDB [test]> show global variables like '%pbxt%';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| pbxt_auto_increment_mode | 0 |
| pbxt_checkpoint_frequency | 128M |
| pbxt_data_file_grow_size | 50M |
| pbxt_data_log_threshold | 256M |
| pbxt_flush_log_at_trx_commit | 0 |
| pbxt_garbage_threshold | 50 |
| pbxt_index_cache_size | 8G |
| pbxt_log_buffer_size | 512M |
| pbxt_log_cache_size | 1G |
| pbxt_log_file_count | 3 |
| pbxt_log_file_threshold | 32MB |
| pbxt_max_threads | 1507 |
| pbxt_offline_log_function | 0 |
| pbxt_record_cache_size | 12G |
| pbxt_row_file_grow_size | 10M |
| pbxt_support_xa | ON |
| pbxt_sweeper_priority | 2 |
| pbxt_transaction_buffer_size | 8M |
--->> Wildest guessing as I didn't found best practices on tuning them.
MariaDB [test]> select version();
+-------------------+
| version() |
+-------------------+
| 5.2.3-MariaDB-log |
MariaDB [test]> select * from information_schema.PLUGINS where PLUGIN_NAME='PBXT'\G
*************************** 1. row ***************************
PLUGIN_NAME: PBXT
PLUGIN_VERSION: 0.1
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: STORAGE ENGINE
PLUGIN_TYPE_VERSION: 50203.0
PLUGIN_LIBRARY: NULL
PLUGIN_LIBRARY_VERSION: NULL
PLUGIN_AUTHOR: Paul McCullagh, PrimeBase Technologies GmbH
PLUGIN_DESCRIPTION: High performance, multi-versioning transactional engine
PLUGIN_LICENSE: GPL
PLUGIN_MATURITY: Gamma
PLUGIN_AUTH_VERSION: 1.0.11-7 Pre-GA
# free -m
total used free shared buffers cached
Mem: 96682 74052 22630 0 180 32567
-/+ buffers/cache: 41304 55378
Swap: 2047 0 2047
CPU:
2xX5550
Im clueless, how to interpret this behavior
Regards
Erkan
--
über den grenzen muß die freiheit wohl wolkenlos sein
Follow ups