
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (44)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Prérequis à l’installation
31 janvier 2010, parPréambule
Cet article n’a pas pour but de détailler les installations de ces logiciels mais plutôt de donner des informations sur leur configuration spécifique.
Avant toute chose SPIPMotion tout comme MediaSPIP est fait pour tourner sur des distributions Linux de type Debian ou dérivées (Ubuntu...). Les documentations de ce site se réfèrent donc à ces distributions. Il est également possible de l’utiliser sur d’autres distributions Linux mais aucune garantie de bon fonctionnement n’est possible.
Il (...)
Sur d’autres sites (4050)
-
Anomalie #3164 (Nouveau) : Problème de sauveagrde en MySQL
2 février 2014, par Franck DalotBonsoir
Alors après beaucoup de tests :-D Je fais un ticket de plus plutôt qu’une suite au autre, car il y a beaucoup de choses différente
J’ai fini par trouver le moyen de reproduire le bug concernant les sauvegardes de spip"s"
A savoir que j’ai fait que des tests de sauvegarde, je n’ai pas fait de vérification concernant la "qualité" des sauveagardes n’y même de restauration de base.
Tests fait avec Firefox 26 et chez OVH en php 5.4.23Problème 1
Contexte
J’instal un spip 2.1.25 en choisissant MySQL via spip_loader, Je fais le choix concernant le prefix des tables de : spip21vers30bis
Après l’instal, je vais dans "plugins" pour inserer les listes des plug (http://plugins.spip.net/rss-+-selection-2-1-+ et http://www.spip-contrib.net/?page=rss-plugins-spip-2-1)
Puis, je fais la création d’une rubrique et d’un article de test que je publi en ligne.
Enfin, je donne un nom au site et je vide le cache via l’interface de spip.Enfin, je vais dans "maintenance avancer" pour faire une sauvegarde de la base
Je passe la souris sur "OPTIONS AVANCÉES"
Et surprise... spip souhaite sauvegarder des tables qui n’existent pas "spip_article" et d’autres non, alors qu’elles existent "spip21vers30bis_articles"
Sons en Gras les table que spip "coche" par défault
spip21vers30bis_articles (1)
spip21vers30bis_auteurs (1)
spip21vers30bis_auteurs_articles (1)
spip21vers30bis_auteurs_messages (0)
spip21vers30bis_auteurs_rubriques (0)
spip21vers30bis_breves (0)
spip21vers30bis_documents (0)
spip21vers30bis_documents_liens (0)
spip21vers30bis_forum (0)
spip21vers30bis_groupes_mots (0)
spip21vers30bis_messages (0)
spip21vers30bis_meta (93)
spip21vers30bis_mots (0)
spip21vers30bis_mots_articles (0)
spip21vers30bis_mots_breves (0)
spip21vers30bis_mots_documents (0)
spip21vers30bis_mots_forum (0)
spip21vers30bis_mots_rubriques (0)
spip21vers30bis_mots_syndic (0)
spip21vers30bis_petitions (0)
spip21vers30bis_referers (0)
spip21vers30bis_referers_articles (0)
spip21vers30bis_resultats (0)
spip21vers30bis_rubriques (1)
spip21vers30bis_signatures (0)
spip21vers30bis_syndic (0)
spip21vers30bis_syndic_articles (0)
spip21vers30bis_types_documents (164)
spip21vers30bis_urls (0)
spip21vers30bis_versions (0)
spip21vers30bis_versions_fragments (0)
spip21vers30bis_visites (0)
spip21vers30bis_visites_articles (0)
spip_articles (1)
spip_auteurs (1)
spip_auteurs_articles (1)
spip_auteurs_messages (0)
spip_auteurs_rubriques (0)
spip_breves (0)
spip_documents (0)
spip_documents_liens (0)
spip_forum (0)
spip_groupes_mots (0)
spip_messages (0)
spip_meta (93)
spip_mots (0)
spip_mots_articles (0)
spip_mots_breves (0)
spip_mots_documents (0)
spip_mots_forum (0)
spip_mots_rubriques (0)
spip_mots_syndic (0)
spip_petitions (0)
spip_rubriques (1)
spip_signatures (0)
spip_syndic (0)
spip_syndic_articles (0)
spip_types_documents (164)
spip_urls (0)Problème 2
Contexte
Je place un fichier mes_options avec dedans :
< ?php
define(’SPIP_ERREUR_REPORT’,E_ALL) ;
define(’_NO_CACHE’, -1) ;
error_reporting(E_ALL^E_NOTICE) ;
ini_set ("display_errors", "On") ;
define(’_DEBUG_SLOW_QUERIES’, true) ;
define(’_BOUCLE_PROFILER’, 5000) ;
define(’_LOG_FILTRE_GRAVITE’,8) ;
define(’_MAX_DEBUG_AFF’, ’1’) ;
?>Via spip_loader je fais le passage en SPIP 3.1.0-dev [21172]
Apparission de notices pendant le passage :
Notice : Undefined variable : r in /.../ecrire/req/mysql.php on line 974
Notice : Undefined variable : row in /.../ecrire/req/mysql.php on line 539
Notice : Undefined index : objet in /.../ecrire/req/mysql.php on line 1127
Notice : Undefined index : creer_htpasswd in /.../ecrire/auth/spip.php on line 345
+ certaines qui ne sont pas systématique
Notice : Undefined index : spip_lang in /.../ecrire/inc/lang.php on line 269
Notice : Undefined variable : rub_ in /.../ecrire/base/dump.php on line 34Je vide le cache via l’interface de spip, et je vais dans "sauvegarder la base", je décoche "Sauvegarder toutes les tables"
Surprise, spip me propose toutes les tables cocher sauf "spip_resultats" et "spip_test" (il me semble que c’est normal), par contre, il ne me propose pas les tables avec le préfix que j’avais choisi au moment de l’instal en spip 2.1.25Problème 3
Je re-coche "Sauvegarder toutes les tables", choisi comme nom de sauvegarde "essai" et fait une sauveagardeDes notices apparaisent
Notice : Undefined index : extra in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : objet in /.../ecrire/req/sqlite_generique.php on line 1053La sauvegarde ne semble pas correcte (voir la copie d’écran "sauvegarde1" jointe)
Problème 4
Je vide le cache, puis je fais une nouvelle sauveagrde de la base de données, mais uniquement d’une table "spip_articles" (Cela fait pareil avec toutes les tables qui sont en "gras" dans la copie d’écran "sauvegarde1"). je lui done le nom de "essai2"Des notices apparaissent
Notice : Undefined index : extra in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : id_version in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : extra in /.../ecrire/req/sqlite_generique.php on line 1153
Notice : Undefined index : id_version in /.../ecrire/req/sqlite_generique.php on line 1153La sauvegarde semble se faire
Par contre quand il n’y a qu’une table, il faudrait que sont nom soit à gauche, il y a une puce de trop (voir la copie d’écran "sauvegarde2" jointe)problème 5
Que cela soit en spip 3.0.15 ou 3.1 quand je regarde les tables que spip va sauveagrder, le prefix des table qui apparait ne correspond pas au prefix que j’ai choisi au moemnt de l’instalProblème 6 (divers)
Des notices sont apparu lors de tests mais pas moyen de me souvenir si j’étais en 3.0.15 ou 3.1
lors des essai, firefox mavais dit dans une page blanche qu’il y avait :
Erreur d’encodageDes notices étaient visible
Notice : Undefined index : contenu in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : extrait in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : composition in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : composition_lock in /.../ecrire/req/sqlite_generique.php on line 1108
Notice : Undefined index : oembed in /.../ecrire/req/sqlite_generique.php on line 1108Et quand je faisait une sauvegarde, les table suivante étaient systématiquement en "gras"
spip_article
spip_depots
spip_documents
spip_groupes_mots
spip_mots
spip_paquets
spip_plugins
spip_auteurs
spip_metaD’autres notices
Notice : ob_end_flush() : failed to delete and flush buffer. no buffer to delete or flush in /.../plugins-dist/dump/inc/sauvegarde.php on line 59
Notice : Undefined index : id in /.../ecrire/plugins/infos_plugin.php on line 170 -
Very slow writes on MySQL 8 - waiting for handler commit
23 mai 2023, par Akshat GoelI have MySQL 8 docker installation installed on an edge device which has the following two tables to write to


video_paths | CREATE TABLE `video_paths` (
 `entry` int(11) NOT NULL AUTO_INCREMENT,
 `timestamp` bigint(20) NOT NULL,
 `duration` int(11) NOT NULL,
 `path` varchar(255) NOT NULL,
 `motion` int(11) NOT NULL DEFAULT '0',
 `cam_id` varchar(255) NOT NULL DEFAULT '',
 `hd` tinyint(1) NOT NULL DEFAULT '0',
 PRIMARY KEY (`entry`),
 KEY `cam_id` (`cam_id`),
 KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=7342309 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci



AND


CREATE TABLE `tracker` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `table_name` varchar(255) NOT NULL,
 `primary_key_name` varchar(255) NOT NULL,
 `pointer` int(11) NOT NULL DEFAULT '0',
 PRIMARY KEY (`id`),
 UNIQUE KEY `table_name` (`table_name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci



The following queries are run every few secs for up to 32 cameras and are taking a lot of time as indicated by the slow query log.


UPDATE tracker SET pointer = 7342046 WHERE table_name = 'video_paths'

INSERT INTO video_paths (timestamp,duration,path,cam_id,hd) VALUES (1597548365000,5000,'/s/ss/x-0/v/2020-08-16/3/1.ts','x-1',1)




Most of the time is spent in the
waiting for handler commit
state

The total size of my data (tables + index) is 1GB and I have the following settings enabled to optimise for write


skip-log-bin
- Disabled the bin log because I don't have a replica and therefore no use for it
innodb_flush_log_at_trx_commit =2
- I am Optimising for performance rather than consistency here.
range_optimizer_max_mem_size =0
As mention in this question, I have allowed max memory to range optimiser.
inndo_buffer_pool_size= 512Mb
- This should be enough for my data ?.

innodb_log_file_size= 96Mb
*2 files

I am seeing queries that are taking up to 90-100 secs sometimes.


SET timestamp=1597549337;
INSERT INTO video_paths (timestamp,duration,path,cam_id,hd) VALUES (1597548365000,5000,'/s/ss/x-0/v/2020-08-16/3/1.ts','x-1',1);
# Time: 2020-08-16T03:42:24.533408Z
# Query_time: 96.712976 Lock_time: 0.000033 Rows_sent: 0 Rows_examined: 0



---UPDATE---
Here's the complete my.cnf file


my.cnf

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

skip-log-bin
innodb_buffer_pool_size=536870912
innodb_log_file_size=100663296

# Custom config should go here
!includedir /etc/mysql/conf.d/

conf.d/docker.cnf 
[mysqld]
skip-host-cache
skip-name-resolve 



The docker container is using the host mode so complete 15GB memory is available to the container.


--- UPDATE 2 ---
After increasing the
innodb_buffer_pool_size
to 2GB as suggested by @fyrye, the statements have now started getting stuck onSTATE = UPDATE
instead ofwaiting for handler commit
.

---- UPDATE 3 ---
Looks like the CPU is causing the bottleneck



** ---- UPDATE 4 ---- **
Additional info


- 

- Ram Size




total used free shared buff/cache available
Mem: 15909 1711 9385 2491 4813 11600
Swap: 0 0 0



- 

- No SSD/NVMe devices attached
SHOW GLOBAL STATUS
- https://pastebin.com/vtWi0PUqSHOW GLOBAL VARIABLES
- https://pastebin.com/MUZeG959SHOW FULL PROCESSLIST
- https://pastebin.com/eebEcYk7- htop -
htop
here is for the edge system which has 4 other containers running which include the main app, ffmpeg, mqtt, etc.
 ulimit -a
:














core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 62576
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 62576
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited



- 

opstat -xm 5 4




Linux 4.15.0-106-generic (xxxx) 08/18/2020 _x86_64_ (4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
 26.97 0.00 22.36 22.53 0.00 28.14

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 3.20 0.00 2.40 2.40 0.00 0.00 0.00
sda 13.78 9.89 32.24 11.44 0.37 4.10 209.51 47.52 1079.07 44.07 3994.87 22.39 97.81

avg-cpu: %user %nice %system %iowait %steal %idle
 19.71 0.00 27.85 40.87 0.00 11.57

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.00 0.00 1.40 4.60 0.03 2.71 934.93 142.66 24221.33 666.29 31390.26 166.67 100.00

avg-cpu: %user %nice %system %iowait %steal %idle
 20.16 0.00 26.77 28.30 0.00 24.77

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.00 0.00 8.80 5.60 0.03 3.45 496.11 141.28 12507.78 194.00 31858.00 69.44 100.00



- 

mpstat -P ALL 5 3




Linux 4.15.0-106-generic (sn-1f0ce8) 08/18/2020 _x86_64_ (4 CPU)

02:15:47 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
02:15:52 PM all 21.48 0.00 20.40 29.01 0.00 7.94 0.00 0.00 0.00 21.17
02:15:52 PM 0 24.95 0.00 20.86 5.32 0.00 0.61 0.00 0.00 0.00 48.26
02:15:52 PM 1 17.59 0.00 18.81 57.67 0.00 5.93 0.00 0.00 0.00 0.00
02:15:52 PM 2 21.28 0.00 17.36 0.21 0.00 24.79 0.00 0.00 0.00 36.36
02:15:52 PM 3 22.34 0.00 24.59 52.46 0.00 0.61 0.00 0.00 0.00 0.00

02:15:52 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
02:15:57 PM all 20.56 0.00 20.00 28.26 0.00 7.08 0.00 0.00 0.00 24.10
02:15:57 PM 0 24.44 0.00 18.89 12.32 0.00 0.21 0.00 0.00 0.00 44.15
02:15:57 PM 1 17.73 0.00 15.46 33.20 0.00 4.95 0.00 0.00 0.00 28.66
02:15:57 PM 2 18.93 0.00 22.22 12.35 0.00 22.84 0.00 0.00 0.00 23.66
02:15:57 PM 3 21.06 0.00 23.31 55.21 0.00 0.41 0.00 0.00 0.00 0.00

02:15:57 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
02:16:02 PM all 21.81 0.00 18.32 26.42 0.00 7.03 0.00 0.00 0.00 26.42
02:16:02 PM 0 26.43 0.00 19.67 0.20 0.00 0.41 0.00 0.00 0.00 53.28
02:16:02 PM 1 20.57 0.00 17.11 45.21 0.00 5.30 0.00 0.00 0.00 11.81
02:16:02 PM 2 19.67 0.00 16.74 0.21 0.00 21.97 0.00 0.00 0.00 41.42
02:16:02 PM 3 20.45 0.00 19.84 58.91 0.00 0.81 0.00 0.00 0.00 0.00

Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
Average: all 21.28 0.00 19.57 27.90 0.00 7.35 0.00 0.00 0.00 23.90
Average: 0 25.27 0.00 19.81 5.94 0.00 0.41 0.00 0.00 0.00 48.57
Average: 1 18.63 0.00 17.13 45.39 0.00 5.39 0.00 0.00 0.00 13.45
Average: 2 19.96 0.00 18.78 4.28 0.00 23.20 0.00 0.00 0.00 33.77
Average: 3 21.28 0.00 22.57 55.54 0.00 0.61 0.00 0.00 0.00 0.00



-
Update requirements section.
13 février 2012, par Sebastian Tschanm README.md Update requirements section.