I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.

In summary there are a few simple best practices to follow for sizing CPU for large production databases:

  • Plan for one vCPU per physical CPU core.
  • Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node.
  • Right-size virtual machines. Add vCPUs only when needed.

Generally this leads to a couple of common questions:

5 7
0 6.1K
Question
· Feb 23, 2021
Logging for "Dead" Processes

Today we had an issue where a couple of our IRIS "processes" had a status of "Dead".

How do I configure IRIS so that, when that happens, IRIS will log an event to messages.log or alerts.log?

We are forwarding the contents of both of those logs to Splunk for analysis, and I'd like to be able to see those events in there as well.

0 7
0 306

It is clear how to get the request header value with a specific name:

Class My.RestController Extends %CSP.REST
{

ClassMethod processRequest() As %Status
{
    #dim request as %CSP.Request 
    set request = %request
    set h = ##class(%REST.Impl).%GetHeader("...")
    ...    
    return $$$OK
}

But I can't figure out how to enumerate ALL the request headers (and also get all values).

1 7
0 339

Hi,

I am trying to install Intersystems IRIS Health Community On Windows 10 Pro version. I am getting 112 error while installing and in some point it Roll Back the Action.

But I am able to configure in Windows 10 Enterprise version.

Is any other settings are there to configure in Windows 10 Pro version or IRIS is not supported?

Please help me.

Thanks in advance.

0 7
0 662

I have created a custom Business Process setting called X509CredentialAlias in which I load the name of the credential alias to use for some background processes. I have looked through EnsPortal.Component but do not see an option for selecting X509 certs stored within IRIS. How might I adjust this setting to query all X509 certs saved within IRIS and offer a drop-down selection to the user within the business process? Similar to the EnsPortal.Component.sslConfigSelector.

0 7
0 54

We are trying to come up with huge DataStore which needs to store HIPAA transactions and Data getting partitioned with idkey - YYYYMM. Current Live data get inserted into current Month DB - HIPAA_202306. 10 years (Hipaa retention policy) old data is going to be sitting in to 120 DBs ( 201606_HIPAA, 201607... 202305) for historical audit legal compliance purposes.

Currently if we create Namespace we get 2 databases - CODEDB for routes/classes & DATADB for journals data.

0 7
0 312

When running the command

do ##class(TestCoverage.Manager).RunTest(,"/nodelete",.userParams)

I now get the following error. these tests used to run fine.

LogStateStatus:0:TestCoverage.Manager:OnBeforeAllTests:ERROR #6060: Somebody else is using the Monitor. <<==== **FAILED**

Can someone please point me in the right direction?

0 7
0 311

Hi Friends,

I have created one utility method to check given id exist some reference table or not. If exist the method return1 otherwise 0.

But some times the backed table data will be reload with another process (REST request) , on any point of time. This reload process max it will take 30 seconds.

My Requirement is , the utility method should wait , if table reload is in progress.

Could you give me any suggestion for this issue.

Thanks,

Prashanth

0 7
0 182

Myself and the other Technology Architects often have to explain to customers and vendors Caché IO requirements and the way that Caché applications will use storage systems. The following tables are useful when explaining typical Caché IO profile and requirements for a transactional database application with customers and vendors. The original tables were created by Mark Bolinsky.

In future posts I will be discussing more about storage IO so am also posting these tables now as a reference for those articles.

9 7
2 2.7K

Hi Community!

We'd like to invite you to join our next contest to share your FHIR knowledge:

🏆 InterSystems IRIS for Health Contest: FHIR for Women's Health 🏆

Submit an application that uses InterSystems FHIR or InterSystems Healthcare Interoperability!

    Duration: November 14 - December 4, 2022

    Prizes: $13,500!

    >> Submit your application here <<

    7 7
    0 3.3K

    InterSystems announces its third developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Some of these features or improvements may not be available in this current developer preview.

    2 7
    0 324

    While I can query the HL7 message class EnsLib.HL7.Message (EnsLib_HL7.Message for SQL) to my heart's content in the SQL Shell or the Management Portal's SQL page, I can't seem to SELECT anything other than ID/%Id from an ADO/ODBC client. Properties such as TimeCreated, Name, MessageTypeCategory, etc. all seem to prevent the query from ever completing EXCEPT when I provide the ID as part of the WHERE criteria.

    This works fine in the Management Portal and Shell:

    0 7
    0 377
    Article
    · Apr 9, 2019 3m read
    IRIS/Ensemble as an ETL

    IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

    But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

    To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.

    BatchSqlOutboundAdapter

    Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

    3 7
    2 1.4K
    Article
    · Jul 8, 2020 7m read
    Tips for debugging with %Status

    Introduction

    If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

    15 7
    11 1.7K

    Hello

    We are in the process of upgrading to 2023.1 for InterSystems Health Connect, and the Business Rule Engine editor is very difficult to use compared to 2022.1. It's difficult to scan over the rules as it all looks the same style with barely any distinction between rules, constraints, conditions, whens etc. There's also tonnes of whitespace, and searching on the page is hit and miss (using Ctrl + F) . I can see the previous editor is still available when you modify the URL, but I'm wondering if we can set it to be the default editor, and if this is something supported.

    2 7
    1 342