标签: linux

提高 Linux 下 VMware 上的 SQL Server 性能

我在一家小公司(3 个用户)有一台 Linux 服务器,它充当域服务器并在 VMware 下运行两台虚拟机:一台装有 SQL Server 2000,另一台装有 SQL Server 2005,每种情况都在 Win2k 上运行。每个 SQL Server 都有几个小而重要的数据库。

据我所知,Linux 服务器的一生都非常无聊。它有 2GB 的内存,但即使使用虚拟机,它的内存使用量也不会超过 512MB,其余的都分配给缓存。

但是虚拟机性能很糟糕!数据库比我从专用(但古老的)机器上移动它们之前要慢。如果有一段时间没有使用数据库,您可以在它再次开始响应之前喝杯咖啡。

我可以做些什么来提高性能?

sql-server-2005 sql-server linux sql-server-2000 virtualisation

7
推荐指数
2
解决办法
824
查看次数

MySQL:行大小太大 (> 8126)

我有一个表,里面有 300 列。每列最多为255个字节(也就是这个企业的理由)。

当我尝试使用创建它时VARCHAR(255),我超过了最大字节数的限制。所以我创建的是使用 300 个TEXT字段。然后当我尝试插入数据时,出现错误:

行大小太大 (> 8126)。
将某些列更改为 TEXT 或 BLOB 或使用 ROW_FORMAT=DYNAMIC 或 ROW_FORMAT=COMPRESSED 可能会有所帮助。
在当前行格式中,内联存储 768 字节的 BLOB 前缀。

阅读完此内容后,我尝试通过指定ROW_FORMAT=COMPRESSED. 现在的问题似乎是,当我尝试使用该格式创建表时,出现相同的错误。

CREATE TABLE T_ObjLarge__c (Id VARCHAR(18), Name VARCHAR(80),
ObjLarge_Field_1__c TEXT,
ObjLarge_Field_2__c TEXT,
...
ObjLarge_Field_300__c TEXT
) ROW_FORMAT=COMPRESSED ;
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

行大小太大 (> 8126)。
将某些列更改为 TEXT 或 BLOB 可能会有所帮助。
在当前行格式中,内联存储 0 字节的 BLOB 前缀。

我在 Linux mint 上使用 MySQL 5.5.31。没有索引。我试过DYNAMIC格式;它的行为方式相同。

的输出SHOW GLOBAL VARIABLES LIKE 'innodb_file_per_table';

+--------------------------+-----------+ …
Run Code Online (Sandbox Code Playgroud)

mysql innodb linux mysql-5.5

7
推荐指数
1
解决办法
3万
查看次数

将 postgres 超级用户授予 linux 帐户

在我的开发 (Ubuntu linux) 笔记本电脑上,我有一个postgres操作系统帐户,该帐户拥有 Postgres 安装。

当我想执行任何 postgres 活动、创建/删除数据库等时,我必须首先 su 到 postgres 帐户。

$ sudo su postgres
Run Code Online (Sandbox Code Playgroud)

如何更改我自己的操作系统帐户以获得postgres的操作系统级权限,这样我就不需要su 了

postgresql linux

7
推荐指数
1
解决办法
1万
查看次数

单个查询的mysql多线程

我有一个 8GB 的​​大数据库,在这个数据库中有 900 万个联系人。当我们尝试检索所有联系人时,需要将近 1 或 2 个小时(在某些情况下会导致超时)来检索单个查询执行的所有联系人。此外,我有 8 个 CPU 和 24GB RAM、至强处理器,mysql 进程不会分布在 8 个 CPU 上。我的问题是,我们是否可以为单个查询启用多线程。

等待您的回复

mysql linux ubuntu

7
推荐指数
2
解决办法
2万
查看次数

高背景刷新平均 mongodb

类似问题:Mongodb 上的高全局锁定百分比

概述

我们在 v2.4.8 mongodb 中有一个生产设置副本集,它运行在五个 4 核、28gb RAM 虚拟机上,标准 azure 数据磁盘 HDD 运行在 64 位 CentOS 6 上。我们以大约 600-700 ops/sec/secondary 的速度在辅助节点上分配读取。每个辅助节点的 CPU 使用率约为 15%。主服务器上的 CPU 使用率约为 5-10%。我们目前在我们的主服务器上遇到高全局写锁和后台刷新平均值的问题。尽管每秒只有大约 200 次插入/更新/删除(请参阅下面的 MMS 输出),但我们的主服务器上的全局写锁定在 30-40% 之间。我们还注意到,我们的后台刷新平均值在 2 到 15 秒之间。不幸的是,这会导致大量缓慢的查询(每秒最多 50 次更新/插入 > 100 毫秒)。我们已经考虑过分片,但觉得 mongodb 应该表现得比这更好。

测试

这告诉我,我们在写入 HDD 时遇到问题,但运行一个简单的 iostat 显示我们在 sdc(我们正在写入的磁盘)上的利用率没有达到最大值,并且在 20% 到 40% 之间:

$ iostat -x 1
Run Code Online (Sandbox Code Playgroud)

4秒结果:

Linux 2.6.32-279.14.1.el6.openlogic.x86_64 (mongodb3-wus)   05/08/2014  _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.28    0.00    1.82 …
Run Code Online (Sandbox Code Playgroud)

mongodb linux locking

7
推荐指数
1
解决办法
2601
查看次数

MySQL slave 大部分时间卡在“系统锁”,CPU 使用率高

让我描述一下我们现在面临的情况:

我们有一个 MySQL Master-Slave,基于行的复制设置,目前,slave 被一个永久的System Lock. Master 是一个活跃的服务器,有很多updates并且deletes正在运行,但是 Slave 不会复制任何东西。日志中没有错误,从站正在从主站读取二进制日志,但它对从站没有任何作用。该Seconds_Behind_Master值不断增加。这是show processlist奴隶显示的内容:

mysql> show processlist ;
+----+-------------+-----------+------+---------+-------+----------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time  | State                            | Info             |
+----+-------------+-----------+------+---------+-------+----------------------------------+------------------+
| 10 | system user |           | NULL | Connect |  4985 | Waiting for master to send event | NULL             |
| 11 | system user |           | NULL | Connect | 53715 | System …
Run Code Online (Sandbox Code Playgroud)

mysql replication linux

7
推荐指数
1
解决办法
3万
查看次数

如何在 ubuntu/debian/linux 上检查 pg_hba.conf 和其他 postgresql conf 文件的语法?

很多时候,postgresql 服务在一些配置更改后无法重新启动。

是否有任何命令行工具允许在重新加载/重新启动服务之前检查pg_hba.conf和其他 pg*.conf文件的语法,或者在任何配置更改之后检查更好?

postgresql linux ubuntu configuration pg-hba.conf

7
推荐指数
1
解决办法
1万
查看次数

导致此错误的原因:可用性组 ag1 的指定副本均未映射到您所连接的 SQL Server 实例

我正在根据https://docs.microsoft.com/en-us/sql/linux/sql-server-linux为 Linux 配置 Always-on for SQL Server 2017 RC1(14.0.80.90,日期为 2017-7-18)-availability-group-configure-ha。此安装使用 docker 映像,全部位于同一物理主机上。所有步骤都在工作,直到我到达步骤:

CREATE AVAILABILITY GROUP [ag1]
    WITH (DB_FAILOVER = ON, CLUSTER_TYPE = EXTERNAL)
    FOR REPLICA ON
        N'always-onA' 
         WITH (
            ENDPOINT_URL = N'tcp://always-onA:5022',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            FAILOVER_MODE = EXTERNAL,
            SEEDING_MODE = AUTOMATIC
            ),
        N'always-onB' 
         WITH ( 
            ENDPOINT_URL = N'tcp://always-onB:5022', 
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            FAILOVER_MODE = EXTERNAL,
            SEEDING_MODE = AUTOMATIC
            ),
        N'always-onC'
        WITH( 
           ENDPOINT_URL = N'tcp://always-onC:5022', 
           AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
           FAILOVER_MODE = EXTERNAL,
           SEEDING_MODE = AUTOMATIC
           );
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

Msg 35237, …
Run Code Online (Sandbox Code Playgroud)

linux availability-groups sql-server-2017

7
推荐指数
1
解决办法
1329
查看次数

SQL Server记录“blob数据”,可使用journalctl查看

当我跑步时它journalctl -u mssql-server.serviceB blob data

Sep 06 17:34:44 x230 systemd[1]: Stopping Microsoft SQL Server Database Engine...
Sep 06 17:34:44 x230 sqlservr[22239]: [200B blob data]
Sep 06 17:34:44 x230 sqlservr[22239]: [190B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [146B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [146B blob data]
Run Code Online (Sandbox Code Playgroud)

我也没有运行 DDL 命令,也没有插入或更新 blob 数据。但有可能是mssql-cli在后台执行类似操作。

sql-server linux logs errors

7
推荐指数
1
解决办法
2073
查看次数

无法将 mongodb 作为服务启动 - 异常;集合在 KVCatalog 中没有 UUID

我已经安装了 Mongodb 4.2

和跑步时

sudo service mongod start|restart

它不会启动服务器,我在 mongod.log 文件中有以下日志。

Exception in initAndListen: MustDowngrade: Collection does not have UUID in KVCatalog. Collection: local.startup_log, terminating

这里有更多细节:


  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
  CONTROL  [initandlisten] MongoDB starting : pid=7434 port=27017 dbpath=/var/lib/mongodb 64-bit host=vm2851358555.bitcommand.com
  CONTROL  [initandlisten] db version v4.2.0
  CONTROL  [initandlisten] git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
  CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.0k  28 May 2019
  CONTROL  [initandlisten] allocator: tcmalloc
  CONTROL  [initandlisten] modules: none
  CONTROL  [initandlisten] build environment: …
Run Code Online (Sandbox Code Playgroud)

mongodb linux debian mongodb-4.0

7
推荐指数
1
解决办法
6845
查看次数