Dirac Service Limitations
DataManagement
LFN length
Because they are stored in a database, the LFNs are limited in size. The standard size is 255 characters. It is enforced in the following database:
JobDB
TransformationTB
StorageManagementDB
DataIntegrityDB
FTS3DB
RequestDB
Shall you want to have longer LFN, then you would need to update your database manually.
A special case is the DFC. The limitations depend on the Directory and File managers you use.
In the DirectoryLevelTree and FileManager (defaults one) managers, the LFNs are split by ‘/’, yielding other limitations:
128 char for the filename
255 char for each directory level
In case of the Managers WithPkAndPs (LHCb):
128 char for the filename
255 for the base path
Performance Optimisation
Servers
When you servers are heavily loaded, you may want to tune some kernel parameters. Internet is full or resources to explain you what you should do, but a few parameters of interests certainly are the number of file descriptors allowed, as well as a few kernel tcp parameters that should be increased (https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt):
net.nf_conntrack_max
net.ipv4.tcp_max_syn_backlog
net.core.somaxconn
net.core.netdev_max_backlog
You can also adjust the limit of opened files descriptors in the Service
section of the /usr/lib/systemd/system/runsvdir-start.service
file:
LimitNOFILE=500000
Databases
Every now and then, it is interesting to look at the fragmentation status of your database. This is done by using the analyze table
statement (https://dev.mysql.com/doc/refman/8.4/en/analyze-table.html) possibly followed by the optimize table
statement (https://dev.mysql.com/doc/refman/8.4/en/optimize-table.html).
To know whether your tables are fragmented:
select table_schema,table_name, sys.format_bytes(data_length) table_size, sys.format_bytes(data_free) empty_space from information_schema.tables where data_length >= (1024*1024*1024) order by data_length desc;
The fragmented space should be very small with respect to the overall table size.
Duplications
The WMS Executors can be duplicated.
In some cases, it is possible to run several instances of the same agent/service in order to scale.
NB: in the tables below, for those components where the Duplicate column is not filled, it simply means that we have not tried to duplicate them yet. For services, this probably means that they can be duplicated. For agents, instead, this probably means that they can not be duplicated.
Services
System |
Component |
Duplicate |
Remarque |
HTTPs |
Accounting |
PARTIAL |
One master and helpers (See DataStore Helpers) |
||
Configuration |
PARTIAL |
One master (rw) and slaves (ro). It’s advised to have several CS slaves |
YES |
|
DataManagement |
YES |
YES |
||
YES |
YES |
|||
YES |
YES |
|||
YES |
||||
Framework |
YES |
YES |
||
YES |
||||
YES |
||||
YES |
||||
MUST |
There should be one on each and every machine |
|||
Monitoring |
YES |
|||
RequestManagement |
YES |
|||
YES |
||||
ResourcesStatus |
YES |
YES |
||
YES |
YES |
|||
YES |
YES |
|||
StorageManager |
||||
Transformation |
YES |
YES |
||
WorkloadManagement |
YES |
YES |
||
YES |
YES |
|||
YES |
YES |
|||
NO |
||||
PARTIAL |
In case there are HTCondor CEs to deal with, the HTCondor WorkingDirectory should exist and be accessible in each and every machine |
|||
YES |
YES |
|||
Agents
System |
Component |
Duplicate |
Remarque |
Accounting |
|||
Configuration |
PARTIAL |
Select sites for different agent instances |
|
PARTIAL |
Split by VOs |
||
DataManagement |
YES |
||
Framework RequestManagement |
|||
NO |
|||
YES |
|||
ResourceStatus |
|||
NO |
|||
StorageManagement |
NO |
||
NO |
|||
NO |
|||
NO |
|||
Transformation |
PARTIAL |
Split by TransformationTypes |
|
PARTIAL |
Split by TransformationTypes |
||
PARTIAL |
Split by TransformationTypes |
||
PARTIAL |
Split by TransformationTypes |
||
PARTIAL |
Split by TransformationTypes |
||
PARTIAL |
Split by TransformationTypes |
||
PARTIAL |
Split by TransformationTypes |
||
WorkloadManagement |
PARTIAL |
Split by Sites, CETypes |
|
Installed by Pilots on Worker Nodes, not for server installations |
|||
NO |